常用配置查询
# 查询表大小
查找数据库中十个最大的表和索引
-- 单位是 GB select table_schema, TABLE_NAME, dat, idx from (SELECT table_schema, TABLE_NAME, ( data_length ) / 1024 / 1024 / 1024 as dat, ( index_length ) / 1024 / 1024 / 1024 as idx FROM information_schema.TABLES order by 3 desc ) a order by 3 desc limit 10;
# 查询缓存配置
innodb_buffer_pool_instances用于控制缓冲池 (buffer pool) 内部划分为多少个实例,每个实例可以单独管理缓冲区域,可以提高读写性能,避免单一缓冲池出现性能瓶颈。innodb_buffer_pool_chunk_size每个缓冲池实例的 chunk size ,每个 chunk 块包含多个连续的数据页。innodb_page_size每个块(chunk)的数据页的数量。innodb_buffer_pool_size缓冲池大小,innoDB 引擎主要用来缓存数据和索引的区域。一般来说会设置物理内存大小的 50%-80% 左右,它的大小一般是等于或者是innodb_buffer_pool_instances*innodb_buffer_pool_chunk_size的倍数。select @@innodb_buffer_pool_size/1024/1024, @@innodb_buffer_pool_chunk_size/1024/1024, @@innodb_buffer_pool_instances, @@innodb_page_size
# 查询 innodb 页大小
page size 默认 16 kb
show global status like 'innodb_page_size'
或者
select @@innodb_page_size / 1024 as page_size
# Trace 设置优化跟踪
-- 查询开启状态
SELECT @@optimizer_trace
-- 开启
set @@optimizer_trace='enabled=on'
-- 设置 json 结束标识
set @@end_markers_in_json='on'
-- 查询跟踪信息
SELECT * from information_schema.optimizer_trace;
-- 关闭
set @@optimizer_trace='enabled=off,one_line=off'
上次更新: 2024/11/05, 03:15:29