TideSQL System Variables
A complete reference for TideSQL system variables, grouped by scope: flush and compaction pool, block cache, memtable, durability, full-text search, and per- session table-option defaults.
This page documents system variables related to the TideSQL storage engine. The read-only group is set at server startup and cannot change while the server runs. The dynamic global group can be changed at runtime with SET GLOBAL. The session group can be set per connection with SET SESSION, and its global value is the default that new sessions inherit.
Global, Read-Only Variables
These variables are set at server startup and cannot be changed while the server runs.
tidesdb_flush_threads
Description: Background threads flushing memtables to SSTables.
0lets the library auto-size the shared flush pool to min(CPU count, 4) at open.Command line:
--tidesdb-flush-threads=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
4
tidesdb_compaction_threads
Description: Background threads running LSM compaction.
Command line:
--tidesdb-compaction-threads=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
4
tidesdb_log_level
Description: Library log level.
Command line:
--tidesdb-log-level=valueScope: Global
Dynamic: No
Data Type:
enumerationDefault Value:
TRACEValid Values:
TRACE,INFO,WARN,ERROR,NONE
tidesdb_block_cache_size
Description: Size in bytes of the global block cache shared across all column families.
Command line:
--tidesdb-block-cache-size=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
268435456(256 MB)
tidesdb_max_open_sstables
Description: Maximum SSTable structures cached in the LRU.
0means unlimited, bounded only by the process open-file limit.Command line:
--tidesdb-max-open-sstables=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
256
tidesdb_log_to_file
Description: Write library logs to a LOG file in the data directory instead of stderr.
Command line:
--tidesdb-log-to-file={0|1}Scope: Global
Dynamic: No
Data Type:
booleanDefault Value:
ON
tidesdb_log_truncation_at
Description: Log file truncation size in bytes.
0disables truncation.Command line:
--tidesdb-log-truncation-at=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
25165824(24 MB)
tidesdb_memtable_write_buffer_size
Description: Write buffer size in bytes for the shared memtable.
0lets the library auto-size it.Command line:
--tidesdb-memtable-write-buffer-size=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
268435456(256 MB)
tidesdb_memtable_sync_mode
Description: WAL durability for every commit. See Durability and Sync Modes.
Command line:
--tidesdb-memtable-sync-mode=valueScope: Global
Dynamic: No
Data Type:
enumerationDefault Value:
FULLValid Values:
NONE,INTERVAL,FULL
tidesdb_memtable_sync_interval
Description: WAL sync interval in microseconds, used only when the sync mode is
INTERVAL.Command line:
--tidesdb-memtable-sync-interval=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
128000
tidesdb_memtable_skip_list_max_level
Description: Skip-list max level for the memtable.
0keeps the library default.Command line:
--tidesdb-memtable-skip-list-max-level=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
0
tidesdb_memtable_skip_list_probability
Description: Skip-list level-promotion probability for the memtable.
0.0keeps the library default.Command line:
--tidesdb-memtable-skip-list-probability=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
0.0
tidesdb_vlog_segment_size
Description: Size in bytes at which the value log seals a segment and opens a fresh one.
0keeps the library default.Command line:
--tidesdb-vlog-segment-size=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
0
tidesdb_value_separation_threshold
Description: Values at or above this size in bytes go to the shared value log instead of inline in the klog, so compaction rewrites only a reference. Database-wide, applied at open.
0keeps the library default.Command line:
--tidesdb-value-separation-threshold=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
0
tidesdb_memtable_l0_queue_stall_threshold
Description: Sealed-memtable queue depth at which writes are paced for back-pressure.
0keeps the library default of 16.Command line:
--tidesdb-memtable-l0-queue-stall-threshold=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
0
tidesdb_memtable_idle_flush_seconds
Description: Seconds of write inactivity after which the shared memtable is flushed even before it fills.
-1keeps the library default.Command line:
--tidesdb-memtable-idle-flush-seconds=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
-1
tidesdb_txn_timeout_seconds
Description: Seconds a transaction may run before the library aborts it.
-1keeps the library default.Command line:
--tidesdb-txn-timeout-seconds=#Scope: Global
Dynamic: No
Data Type:
numericDefault Value:
-1
tidesdb_data_home_dir
Description: Directory for the data files.
Command line:
--tidesdb-data-home-dir=pathScope: Global
Dynamic: No
Data Type:
directory nameDefault Value:
<mysql_datadir>/../tidesdb_data
Global, Dynamic Variables
These variables are global and can be changed at runtime with SET GLOBAL.
tidesdb_backup_dir
Description: Set to a path to trigger an online backup. Clear with an empty string. See Backup and Checkpoint.
Command line:
--tidesdb-backup-dir=pathScope: Global
Dynamic: Yes
Data Type:
directory nameDefault Value: (empty)
tidesdb_checkpoint_dir
Description: Set to a path to write a consistent checkpoint copy of the data directory there, a durable flush of the WAL, value log, and manifest followed by a byte-for-byte copy. Clear with an empty string.
Command line:
--tidesdb-checkpoint-dir=pathScope: Global
Dynamic: Yes
Data Type:
directory nameDefault Value: (empty)
tidesdb_fts_min_word_len
Description: Minimum word length in characters for full-text indexing.
Command line:
--tidesdb-fts-min-word-len=#Scope: Global
Dynamic: Yes
Data Type:
numericDefault Value:
3
tidesdb_fts_max_word_len
Description: Maximum word length in characters for full-text indexing.
Command line:
--tidesdb-fts-max-word-len=#Scope: Global
Dynamic: Yes
Data Type:
numericDefault Value:
84
tidesdb_fts_bm25_k1
Description: BM25 k1 parameter, term-frequency saturation.
Command line:
--tidesdb-fts-bm25-k1=#Scope: Global
Dynamic: Yes
Data Type:
numericDefault Value:
1.2
tidesdb_fts_bm25_b
Description: BM25 b parameter, document-length normalization.
Command line:
--tidesdb-fts-bm25-b=#Scope: Global
Dynamic: Yes
Data Type:
numericDefault Value:
0.75Range:
0to1
tidesdb_fts_blend_chars
Description: Characters treated as both separators and word characters. Set to
'for Italian and French elision. See Full-Text Search.Command line:
--tidesdb-fts-blend-chars=valueScope: Global
Dynamic: Yes
Data Type:
stringDefault Value: (empty)
tidesdb_ft_stopword_table
Description: Custom stop-word table in
db_name/table_nameform.NULLuses the InnoDB default list, empty string disables stop-word filtering.Command line:
--tidesdb-ft-stopword-table=valueScope: Global
Dynamic: Yes
Data Type:
stringDefault Value:
NULL
Session Variables With a Global Default
These variables are session-scoped. Setting one globally changes the default that new sessions inherit. The tidesdb_default_* group supplies the default for the matching table option when CREATE TABLE does not set it.
tidesdb_ttl
Description: Per-session TTL in seconds applied to
INSERTandUPDATE.0uses the table default. Works withSET SESSIONandSET STATEMENT. See Time-To-Live.Command line:
--tidesdb-ttl=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
0
tidesdb_skip_unique_check
Description: Skip uniqueness checks on the primary key and unique secondary indexes during
INSERT. Safe only when the application guarantees no duplicates.Command line:
--tidesdb-skip-unique-check={0|1}Scope: Global, Session
Dynamic: Yes
Data Type:
booleanDefault Value:
OFF
tidesdb_single_delete_primary
Description: Use single-delete semantics on the primary row column family for this session's
DELETEstatements.Command line:
--tidesdb-single-delete-primary={0|1}Scope: Global, Session
Dynamic: Yes
Data Type:
booleanDefault Value:
OFF
tidesdb_compact_after_range_delete_min_rows
Description: After a multi-row
DELETEtouching at least this many rows, compact the touched primary-key range synchronously.0disables it.Command line:
--tidesdb-compact-after-range-delete-min-rows=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
0
tidesdb_default_compression
Description: Default
COMPRESSIONfor new tables.Command line:
--tidesdb-default-compression=valueScope: Global, Session
Dynamic: Yes
Data Type:
enumerationDefault Value:
LZ4Valid Values:
NONE,SNAPPY,LZ4,ZSTD,LZ4_FAST
tidesdb_default_bloom_filter
Description: Default
BLOOM_FILTERfor new tables.Command line:
--tidesdb-default-bloom-filter={0|1}Scope: Global, Session
Dynamic: Yes
Data Type:
booleanDefault Value:
ON
tidesdb_default_bloom_fpr
Description: Default
BLOOM_FPRin parts per 10,000, 100 is 1%.Command line:
--tidesdb-default-bloom-fpr=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
100
tidesdb_default_keep_values_inline
Description: Default
KEEP_VALUES_INLINEfor new tables.Command line:
--tidesdb-default-keep-values-inline={0|1}Scope: Global, Session
Dynamic: Yes
Data Type:
booleanDefault Value:
OFF
tidesdb_default_btree_klog_block_size
Description: Default
BTREE_KLOG_BLOCK_SIZEin bytes for new tables. Sizing a node to the block manager first-read window avoids a second read per access.Command line:
--tidesdb-default-btree-klog-block-size=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
4096
tidesdb_default_l1_file_count_trigger
Description: Default
L1_FILE_COUNT_TRIGGER.Command line:
--tidesdb-default-l1-file-count-trigger=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
4
tidesdb_default_level_size_ratio
Description: Default
LEVEL_SIZE_RATIO.Command line:
--tidesdb-default-level-size-ratio=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
10
tidesdb_default_min_levels
Description: Default
MIN_LEVELS.Command line:
--tidesdb-default-min-levels=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
1
tidesdb_default_dividing_level_offset
Description: Default
DIVIDING_LEVEL_OFFSET.Command line:
--tidesdb-default-dividing-level-offset=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
1
tidesdb_default_isolation_level
Description: Default
ISOLATION_LEVEL. See Transactions and Isolation.Command line:
--tidesdb-default-isolation-level=valueScope: Global, Session
Dynamic: Yes
Data Type:
enumerationDefault Value:
REPEATABLE_READ
tidesdb_default_tombstone_density_trigger
Description: Default
TOMBSTONE_DENSITY_TRIGGERin parts per 10,000,0disables it.Command line:
--tidesdb-default-tombstone-density-trigger=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
0
tidesdb_default_tombstone_density_min_entries
Description: Default
TOMBSTONE_DENSITY_MIN_ENTRIES.Command line:
--tidesdb-default-tombstone-density-min-entries=#Scope: Global, Session
Dynamic: Yes
Data Type:
numericDefault Value:
1024
Setting Defaults in my.cnf
This page is licensed: GPLv2
Last updated
Was this helpful?

