show variables like 'innodb%'
以下是 MySQL InnoDB 存储引擎中一些关键系统变量的作用说明,呈现为表格形式:
| 变量名 | 描述 |
|---|---|
innodb_adaptive_flushing |
控制是否启用自适应刷新,以减少事务提交时的 I/O 延迟。 |
innodb_adaptive_flushing_lwm |
自适应刷新时的低水位标记,决定何时开始刷新以避免过多的脏页。 |
innodb_adaptive_hash_index |
启用自适应哈希索引,以提高某些查询的性能。 |
innodb_adaptive_hash_index_parts |
自适应哈希索引的分区数量,用于提高并发访问性能。 |
innodb_adaptive_max_sleep_delay |
自适应休眠的最大延迟,用于控制后台线程的调度。 |
innodb_api_bk_commit_interval |
InnoDB 插件 API 的后台提交间隔时间。 |
innodb_api_disable_rowlock |
控制是否禁用 InnoDB 插件 API 的行锁。 |
innodb_api_enable_binlog |
启用 InnoDB 插件 API 的二进制日志记录。 |
innodb_api_enable_mdl |
启用 InnoDB 插件 API 的元数据锁。 |
innodb_api_trx_level |
设置 InnoDB 插件 API 的事务隔离级别。 |
innodb_autoextend_increment |
自动扩展数据文件时的增长大小(以 MB 为单位)。 |
innodb_autoinc_lock_mode |
控制 AUTO_INCREMENT 锁的行为,影响并发插入操作的性能。 |
innodb_buffer_pool_chunk_size |
缓冲池的最小分配块大小,影响内存管理。 |
innodb_buffer_pool_dump_at_shutdown |
在服务器关闭时是否转储缓冲池的内容,以便在下次启动时快速加载。 |
innodb_buffer_pool_dump_now |
立即转储当前缓冲池的内容。 |
innodb_buffer_pool_dump_pct |
在转储缓冲池时要保存的页的百分比。 |
innodb_buffer_pool_filename |
缓冲池转储文件的名称。 |
innodb_buffer_pool_in_core_file |
控制缓冲池是否包含在核心转储中。 |
innodb_buffer_pool_instances |
缓冲池的实例数量,用于提高并发访问性能。 |
innodb_buffer_pool_load_abort |
中止当前的缓冲池加载操作。 |
innodb_buffer_pool_load_at_startup |
在服务器启动时是否加载先前转储的缓冲池内容。 |
innodb_buffer_pool_load_now |
立即加载先前转储的缓冲池内容。 |
innodb_buffer_pool_size |
InnoDB 缓冲池的大小,用于缓存表和索引数据,影响数据库性能显著。 |
innodb_change_buffer_max_size |
更改缓冲区可以使用的最大缓冲池百分比。 |
innodb_change_buffering |
控制哪些类型的更改操作被缓冲(如插入、删除)。 |
innodb_checksum_algorithm |
指定 InnoDB 使用的校验和算法,用于检测数据页的损坏。 |
innodb_cmp_per_index_enabled |
启用每个索引的压缩统计信息。 |
innodb_commit_concurrency |
设置允许同时提交事务的最大数量。 |
innodb_compression_failure_threshold_pct |
控制压缩失败后重试的阈值百分比。 |
innodb_compression_level |
设置 InnoDB 表的压缩级别。 |
innodb_compression_pad_pct_max |
压缩数据页的最大填充百分比,用于减少压缩失败。 |
innodb_concurrency_tickets |
每个线程在重新进入 InnoDB 内核之前可以执行的操作数。 |
innodb_data_file_path |
InnoDB 数据文件的路径和大小配置。 |
innodb_data_home_dir |
InnoDB 数据文件的主目录。 |
innodb_ddl_buffer_size |
DDL 操作使用的缓冲区大小。 |
innodb_ddl_threads |
并行 DDL 操作的线程数。 |
innodb_deadlock_detect |
启用或禁用死锁检测。 |
innodb_dedicated_server |
自动调整 InnoDB 配置以适应专用服务器。 |
innodb_default_row_format |
设置新的 InnoDB 表的默认行格式。 |
innodb_directories |
用于 InnoDB 临时文件和表空间文件的目录列表。 |
innodb_disable_sort_file_cache |
禁用排序操作使用的文件缓存。 |
innodb_doublewrite |
启用双写缓冲,以防止部分页写失败导致的数据损坏。 |
innodb_doublewrite_batch_size |
双写缓冲的批处理大小。 |
innodb_doublewrite_dir |
双写缓冲文件的目录。 |
innodb_doublewrite_files |
双写缓冲文件的数量。 |
innodb_doublewrite_pages |
双写缓冲的页数。 |
innodb_extend_and_initialize |
控制在扩展表空间文件时是否初始化。 |
innodb_fast_shutdown |
控制服务器关闭时的 InnoDB 关闭行为。 |
innodb_file_per_table |
每个 InnoDB 表使用独立表空间文件,便于管理和存储优化。 |
innodb_fill_factor |
控制插入操作中页填充的百分比,以优化空间利用率。 |
innodb_flush_log_at_timeout |
设置日志刷新到磁盘的超时时间。 |
innodb_flush_log_at_trx_commit |
确定事务提交时日志刷新到磁盘的频率,影响数据安全和性能。 |
innodb_flush_method |
指定 InnoDB 将数据和日志刷新到磁盘的方法,以优化 I/O 性能。 |
innodb_flush_neighbors |
控制是否在刷新脏页时同时刷新相邻页,以提高 I/O 效率。 |
innodb_flush_sync |
控制 InnoDB 在刷新日志时是否使用同步刷新。 |
innodb_flushing_avg_loops |
自适应刷新算法的平均循环次数。 |
innodb_force_load_corrupted |
强制加载损坏的表空间,主要用于修复目的。 |
innodb_force_recovery |
控制 InnoDB 的恢复级别,帮助修复损坏的表空间。 |
innodb_fsync_threshold |
控制 fsync 调用的阈值,以优化性能。 |
innodb_ft_aux_table |
全文搜索的辅助表。 |
innodb_ft_cache_size |
全文搜索缓存的大小。 |
innodb_ft_enable_diag_print |
启用全文搜索的诊断信息输出。 |
innodb_ft_enable_stopword |
启用或禁用全文搜索的停用词过滤。 |
innodb_ft_max_token_size |
全文搜索中最大词条的长度。 |
innodb_ft_min_token_size |
全文搜索中最小词条的长度。 |
innodb_ft_num_word_optimize |
全文搜索优化时的词条数量。 |
innodb_ft_result_cache_limit |
全文搜索结果缓存的大小限制。 |
innodb_ft_server_stopword_table |
全文搜索的服务器级停用词表。 |
innodb_ft_sort_pll_degree |
全文搜索并行排序的度数。 |
innodb_ft_total_cache_size |
全文搜索总缓存的大小。 |
innodb_ft_user_stopword_table |
全文搜索的用户定义停用词表。 |
innodb_idle_flush_pct |
控制空闲时脏页刷新的百分比。 |
innodb_io_capacity |
指定后台 I/O 操作的容量,影响脏页刷新和日志写入。 |
innodb_io_capacity_max |
指定后台 I/O 操作的最大容量,用于突发负载。 |
innodb_lock_wait_timeout |
设置事务等待行锁的最长时间,超时后事务将回滚。 |
innodb_log_buffer_size |
InnoDB 日志缓冲区的大小,影响事务提交的性能。 |
innodb_log_checksums |
启用 InnoDB 日志的校验和验证。 |
innodb_log_compressed_pages |
控制是否在日志中记录压缩页。 |
innodb_log_file_size |
每个 InnoDB 日志文件的大小,影响崩溃恢复和性能。 |
innodb_log_files_in_group |
InnoDB 日志文件组中的文件数量。 |
innodb_log_group_home_dir |
InnoDB 日志文件组的目录。 |
innodb_log_spin_cpu_abs_lwm |
日志写入时 CPU 使用的绝对低水位标记。 |
innodb_log_spin_cpu_pct_hwm |
日志写入时 CPU 使用的高水位百分比。 |
innodb_log_wait_for_flush_spin_hwm |
日志刷新等待的高水位标记。 |
innodb_log_write_ahead_size |
日志预写的大小。 |
innodb_log_writer_threads |
日志写入线程的数量。 |
innodb_lru_scan_depth |
LRU 列表扫描的深度,影响缓冲池的性能。 |
innodb_max_dirty_pages_pct |
控制缓冲池中脏页的最大百分比,影响数据刷新频率。 |
innodb_max_dirty_pages_pct_lwm |
脏页刷新操作的低水位标记。 |
innodb_max_purge_lag |
控制清除操作的延迟,以减少长时间事务的影响。 |
innodb_max_purge_lag_delay |
清除延迟的最大时间。 |
innodb_max_undo_log_size |
撤销日志的最大大小。 |
innodb_monitor_disable |
禁用 InnoDB 监控。 |
innodb_monitor_enable |
启用 InnoDB 监控。 |
innodb_monitor_reset |
重置 InnoDB 监控统计信息。 |
innodb_monitor_reset_all |
重置所有 InnoDB 监控统计信息。 |
innodb_numa_interleave |
启用 NUMA 节点之间的内存交织,以提高性能。 |
innodb_old_blocks_pct |
LRU 列表中旧块的百分比,用于控制缓冲池淘汰策略。 |
innodb_old_blocks_time |
LRU 列表中旧块的停留时间,用于控制缓冲池淘汰策略。 |
innodb_online_alter_log_max_size |
在线 ALTER 操作的最大日志大小。 |
innodb_open_files |
InnoDB 可以打开的文件数量,影响文件句柄的使用。 |
innodb_optimize_fulltext_only |
控制是否仅优化全文索引。 |
innodb_page_cleaners |
用于清理脏页的线程数量。 |
innodb_page_size |
InnoDB 数据页的大小。 |
innodb_parallel_read_threads |
并行读取线程的数量。 |
innodb_print_all_deadlocks |
控制是否打印所有的死锁信息。 |
innodb_print_ddl_logs |
控制是否打印 DDL 操作的日志。 |
innodb_purge_batch_size |
每次清除操作的批处理大小。 |
innodb_purge_rseg_truncate_frequency |
控制撤销段截断的频率。 |
innodb_purge_threads |
用于清除历史数据的线程数量。 |
innodb_random_read_ahead |
启用随机预读,以提高随机访问性能。 |
innodb_read_ahead_threshold |
触发预读的页数阈值。 |
innodb_read_io_threads |
处理读请求的 I/O 线程数,影响并发读操作的性能。 |
innodb_read_only |
将 InnoDB 设置为只读模式。 |
innodb_redo_log_archive_dirs |
用于归档重做日志的目录。 |
innodb_redo_log_capacity |
重做日志的总容量。 |
innodb_redo_log_encrypt |
启用重做日志的加密。 |
innodb_replication_delay |
控制复制延迟的时间。 |
innodb_rollback_on_timeout |
超时后是否自动回滚事务。 |
innodb_rollback_segments |
控制撤销段的数量。 |
innodb_segment_reserve_factor |
控制段保留的因子。 |
innodb_sort_buffer_size |
排序操作使用的缓冲区大小。 |
innodb_spin_wait_delay |
自旋等待的延迟时间。 |
innodb_spin_wait_pause_multiplier |
自旋等待暂停的倍数。 |
innodb_stats_auto_recalc |
控制是否自动重新计算统计信息。 |
innodb_stats_include_delete_marked |
控制是否在统计信息中包含标记删除的记录。 |
innodb_stats_method |
控制统计信息的计算方法。 |
innodb_stats_on_metadata |
控制是否在访问表的元数据时自动更新统计信息。 |
innodb_stats_persistent |
控制统计信息是否持久化,以避免频繁更新造成的性能影响。 |
innodb_stats_persistent_sample_pages |
用于持久化统计信息的样本页数。 |
innodb_stats_transient_sample_pages |
用于临时统计信息的样本页数。 |
innodb_status_output |
控制是否输出 InnoDB 状态信息。 |
innodb_status_output_locks |
控制是否输出 InnoDB 锁的状态信息。 |
innodb_strict_mode |
启用严格模式,防止 InnoDB 忽略错误和警告,以确保数据完整性。 |
innodb_sync_array_size |
同步数组的大小。 |
innodb_sync_spin_loops |
自旋锁的同步循环次数。 |
innodb_table_locks |
控制是否启用表级锁。 |
innodb_temp_data_file_path |
临时数据文件的路径和大小配置。 |
innodb_temp_tablespaces_dir |
临时表空间的目录。 |
innodb_thread_concurrency |
限制并发线程的数量。 |
innodb_thread_sleep_delay |
线程在进入空闲状态前的休眠时间。 |
innodb_tmpdir |
临时文件的目录。 |
innodb_undo_directory |
撤销日志文件的目录。 |
innodb_undo_log_encrypt |
启用撤销日志的加密。 |
innodb_undo_log_truncate |
启用撤销日志的截断。 |
innodb_undo_tablespaces |
用于撤销日志的表空间数量。 |
innodb_use_fdatasync |
控制是否使用 fdatasync 进行同步刷新。 |
innodb_use_native_aio |
控制是否使用本地异步 I/O 。 |
innodb_validate_tablespace_paths |
验证表空间路径的有效性。 |
innodb_version |
InnoDB 的版本信息。 |
innodb_write_io_threads |
处理写请求的 I/O 线程数,影响并发写操作的性能。 |
这些变量用于优化和管理 InnoDB 存储引擎的性能和功能。调整这些变量时,需要根据系统的硬件配置和应用的负载特性进行优化,以获得最佳性能和可靠性。
浙公网安备 33010602011771号