Name | Effect | Values |
access_pattern_hint | It is recommended that workloads that consist primarily of updates and/or point queries specify random . Workloads that do many cursor scans through large ranges of data specify sequential and other workloads specify none . The option leads to an advisory call to an appropriate operating system API where available. | a string, chosen from the following options: "none" , "random" , "sequential" ; default none . |
allocation_size | the file unit allocation size, in bytes, must a power-of-two; smaller values decrease the file space required by overflow items, and the default value of 4KB is a good choice absent requirements from the operating system or storage device. | an integer between 512B and 128MB; default 4KB . |
app_metadata | application-owned metadata for this object. | a string; default empty. |
block_allocation | configure block allocation. Permitted values are "first" or "best" ; the "first" configuration uses a first-available algorithm during block allocation, the "best" configuration uses a best-fit algorithm. | a string, chosen from the following options: "first" , "best" ; default best . |
block_compressor | configure a compressor for file blocks. Permitted values are "none" or custom compression engine name created with WT_CONNECTION::add_compressor. If WiredTiger has builtin support for "lz4" , "snappy" , "zlib" or "zstd" compression, these names are also available. See Compressors for more information. | a string; default none . |
cache_resident | do not ever evict the object's pages from cache. Not compatible with LSM tables; see Cache resident objects for more information. | a boolean flag; default false . |
checksum | configure block checksums; permitted values are on (checksum all blocks), off (checksum no blocks) and uncompresssed (checksum only blocks which are not compressed for any reason). The uncompressed setting is for applications which can rely on decompression to fail if a block has been corrupted. | a string, chosen from the following options: "on" , "off" , "uncompressed" ; default uncompressed . |
colgroups | comma-separated list of names of column groups. Each column group is stored separately, keyed by the primary key of the table. If no column groups are specified, all columns are stored together in a single file. All value columns in the table must appear in at least one column group. Each column group must be created with a separate call to WT_SESSION::create. | a list of strings; default empty. |
collator | configure custom collation for keys. Permitted values are "none" or a custom collator name created with WT_CONNECTION::add_collator. | a string; default none . |
columns | list of the column names. Comma-separated list of the form (column[,...]) . For tables, the number of entries must match the total number of values in key_format and value_format . For colgroups and indices, all column names must appear in the list of columns for the table. | a list of strings; default empty. |
dictionary | the maximum number of unique values remembered in the Btree row-store leaf page value dictionary; see File formats and compression for more information. | an integer greater than or equal to 0; default 0 . |
encryption = ( | configure an encryptor for file blocks. When a table is created, its encryptor is not implicitly used for any related indices or column groups. | a set of related configuration options defined below. |
keyid | An identifier that identifies a unique instance of the encryptor. It is stored in clear text, and thus is available when the wiredtiger database is reopened. On the first use of a (name, keyid) combination, the WT_ENCRYPTOR::customize function is called with the keyid as an argument. | a string; default empty. |
name | Permitted values are "none" or custom encryption engine name created with WT_CONNECTION::add_encryptor. See Encryptors for more information. | a string; default none . |
) | | |
exclusive | fail if the object exists. When false (the default), if the object exists, check that its settings match the specified configuration. | a boolean flag; default false . |
extractor | configure custom extractor for indices. Permitted values are "none" or an extractor name created with WT_CONNECTION::add_extractor. | a string; default none . |
format | the file format. | a string, chosen from the following options: "btree" ; default btree . |
huffman_key | configure Huffman encoding for keys. Permitted values are "none" , "english" , "utf8<file>" or "utf16<file>" . See Huffman Encoding for more information. | a string; default none . |
huffman_value | configure Huffman encoding for values. Permitted values are "none" , "english" , "utf8<file>" or "utf16<file>" . See Huffman Encoding for more information. | a string; default none . |
ignore_in_memory_cache_size | allow update and insert operations to proceed even if the cache is already at capacity. Only valid in conjunction with in-memory databases. Should be used with caution - this configuration allows WiredTiger to consume memory over the configured cache limit. | a boolean flag; default false . |
immutable | configure the index to be immutable - that is an index is not changed by any update to a record in the table. | a boolean flag; default false . |
internal_key_max | the largest key stored in an internal node, in bytes. If set, keys larger than the specified size are stored as overflow items (which may require additional I/O to access). The default and the maximum allowed value are both one-tenth the size of a newly split internal page. | an integer greater than or equal to 0; default 0 . |
internal_key_truncate | configure internal key truncation, discarding unnecessary trailing bytes on internal keys (ignored for custom collators). | a boolean flag; default true . |
internal_page_max | the maximum page size for internal nodes, in bytes; the size must be a multiple of the allocation size and is significant for applications wanting to avoid excessive L2 cache misses while searching the tree. The page maximum is the bytes of uncompressed data, that is, the limit is applied before any block compression is done. | an integer between 512B and 512MB; default 4KB . |
key_format | the format of the data packed into key items. See Format types for details. By default, the key_format is 'u' and applications use WT_ITEM structures to manipulate raw byte arrays. By default, records are stored in row-store files: keys of type 'r' are record numbers and records referenced by record number are stored in column-store files. | a format string; default u . |
leaf_key_max | the largest key stored in a leaf node, in bytes. If set, keys larger than the specified size are stored as overflow items (which may require additional I/O to access). The default value is one-tenth the size of a newly split leaf page. | an integer greater than or equal to 0; default 0 . |
leaf_page_max | the maximum page size for leaf nodes, in bytes; the size must be a multiple of the allocation size, and is significant for applications wanting to maximize sequential data transfer from a storage device. The page maximum is the bytes of uncompressed data, that is, the limit is applied before any block compression is done. | an integer between 512B and 512MB; default 32KB . |
leaf_value_max | the largest value stored in a leaf node, in bytes. If set, values larger than the specified size are stored as overflow items (which may require additional I/O to access). If the size is larger than the maximum leaf page size, the page size is temporarily ignored when large values are written. The default is one-half the size of a newly split leaf page. | an integer greater than or equal to 0; default 0 . |
log = ( | the transaction log configuration for this object. Only valid if log is enabled in wiredtiger_open. | a set of related configuration options defined below. |
enabled | if false, this object has checkpoint-level durability. | a boolean flag; default true . |
) | | |
lsm = ( | options only relevant for LSM data sources. | a set of related configuration options defined below. |
auto_throttle | Throttle inserts into LSM trees if flushing to disk isn't keeping up. | a boolean flag; default true . |
bloom | create bloom filters on LSM tree chunks as they are merged. | a boolean flag; default true . |
bloom_bit_count | the number of bits used per item for LSM bloom filters. | an integer between 2 and 1000; default 16 . |
bloom_config | config string used when creating Bloom filter files, passed to WT_SESSION::create. | a string; default empty. |
bloom_hash_count | the number of hash values per item used for LSM bloom filters. | an integer between 2 and 100; default 8 . |
bloom_oldest | create a bloom filter on the oldest LSM tree chunk. Only supported if bloom filters are enabled. | a boolean flag; default false . |
chunk_count_limit | the maximum number of chunks to allow in an LSM tree. This option automatically times out old data. As new chunks are added old chunks will be removed. Enabling this option disables LSM background merges. | an integer; default 0 . |
chunk_max | the maximum size a single chunk can be. Chunks larger than this size are not considered for further merges. This is a soft limit, and chunks larger than this value can be created. Must be larger than chunk_size. | an integer between 100MB and 10TB; default 5GB . |
chunk_size | the maximum size of the in-memory chunk of an LSM tree. This limit is soft - it is possible for chunks to be temporarily larger than this value. This overrides the memory_page_max setting. | an integer between 512K and 500MB; default 10MB . |
merge_max | the maximum number of chunks to include in a merge operation. | an integer between 2 and 100; default 15 . |
merge_min | the minimum number of chunks to include in a merge operation. If set to 0 or 1 half the value of merge_max is used. | an integer no more than 100; default 0 . |
) | | |
memory_page_max | the maximum size a page can grow to in memory before being reconciled to disk. The specified size will be adjusted to a lower bound of leaf_page_max , and an upper bound of cache_size / 10 . This limit is soft - it is possible for pages to be temporarily larger than this value. This setting is ignored for LSM trees, see chunk_size . | an integer between 512B and 10TB; default 5MB . |
os_cache_dirty_max | maximum dirty system buffer cache usage, in bytes. If non-zero, schedule writes for dirty blocks belonging to this object in the system buffer cache after that many bytes from this object are written into the buffer cache. | an integer greater than or equal to 0; default 0 . |
os_cache_max | maximum system buffer cache usage, in bytes. If non-zero, evict object blocks from the system buffer cache after that many bytes from this object are read or written into the buffer cache. | an integer greater than or equal to 0; default 0 . |
prefix_compression | configure prefix compression on row-store leaf pages. | a boolean flag; default false . |
prefix_compression_min | minimum gain before prefix compression will be used on row-store leaf pages. | an integer greater than or equal to 0; default 4 . |
split_pct | the Btree page split size as a percentage of the maximum Btree page size, that is, when a Btree page is split, it will be split into smaller pages, where each page is the specified percentage of the maximum Btree page size. | an integer between 25 and 100; default 75 . |
type | set the type of data source used to store a column group, index or simple table. By default, a "file:" URI is derived from the object name. The type configuration can be used to switch to a different data source, such as LSM or an extension configured by the application. | a string; default file . |
value_format | the format of the data packed into value items. See Format types for details. By default, the value_format is 'u' and applications use a WT_ITEM structure to manipulate raw byte arrays. Value items of type 't' are bitfields, and when configured with record number type keys, will be stored using a fixed-length store. | a format string; default u . |