查询数据库隔离级别
select @@tx_isolation;
分析慢sql
主要是查看这三个字段的信息:
long_query_time:sql执行多久才算慢sql,默认是10s;
slow_query_log:慢日志是否开启,默认是OFF;
slow_query_log_file:慢日志存放的位置
索引
mysql优化器选择索引三个因素:
- 扫描行数
- 算法建临时表
- 是否排序:如果有按照某个索引进行排序的语句,则优先选择
索引统计基数
show index from raw_pdp_data;
触发基数统计
对于由于索引统计信息不准确导致的问题,你可以用 analyze table 来解决
analyze table raw_pdp_data;
分析查询使用索引
explain select
对于其他优化器误判的情况,你可以在应用端用 force index 来强行指定索引,也可以通过修改语句来引导优化器,还可以通过增加或者删除索引来绕过这个问题。
创建索引技巧
可以指定前N个字段做索引,减少索引体积,容易增加扫描次数(不绝对):
mysql> alter table SUser add index index1(email);
或
mysql> alter table SUser add index index2(email(6));
使用前缀索引,定义好长度,就可以做到既节省空间,又不用额外增加太多的查询成本。