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 存储引擎的性能和功能。调整这些变量时,需要根据系统的硬件配置和应用的负载特性进行优化,以获得最佳性能和可靠性。

posted on 2025-03-05 11:49  卡米i  阅读(4)  评论(0)    收藏  举报