慢查询定位与执行计划解读
开启slow_query_log,long_query_time建议设1秒。log_queries_not_using_indexes记录全表扫描查询。EXPLAIN输出中type、key、rows、Extra四个关键字段。type从好到差:system>const>eq_ref>ref>range>index>ALL,生产环境至少要达到range。Extra的危险信号:Using filesort、Using temporary、Using join buffer。
索引设计的黄金法则与反模式
最左前缀原则:联合索引(a,b,c)可覆盖a、(a,b)、(a,b,c)的查询。常见反模式:索引字段做函数运算、隐式类型转换、OR条件导致索引选择困难。覆盖索引可减少回表次数。
分库分表方案的选择与实施
单表超过5000万行或单库超过500GB时性能劣化。分片键决定数据分布和跨分片查询频率。ShardingSphere支持Sharding-JDBC和Sharding-Proxy。Snowflake算法生成分布式主键,但有时钟回拨问题,Leaf-segment更可靠。
MySQL高可用架构选型
主从复制三种模式:异步、半同步、全同步。MySQL InnoDB Cluster基于Group Replication,架构简洁。同城双活延迟1-5ms,异地多活30-100ms只能最终一致性。
原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/mysql-xing-neng-diao-you-shen-du-zhi-nan-man-cha-xun-zhen/