Mysql优化
2019-01-10 本文已影响8人
任嘉平生愿
MySQL 执行计划
主要就是关注字段 key type Extra
key null 没有用索引可以建索引优化
type ALL 为全表扫描可以优化 达到range就差不多了
Extra 有 Using filesort ,Using temporary
可以读出来用java排序 in会破坏索引,在查询的过程中使用临时表
设计表字段
设计字段的时候按照字段大小优先
int > date > String
2 4 8
建立索引
索引左前缀原则
复合索引 覆盖索引
少用in,和sleect *
like前面不写%
不在索引列上做任何操作如sum(),max()
范围条件放最后
字符类型加引号
OR改UNION效率高
慢查询
开启慢查询 mysql>setglobal slow_query_log='ON';
设置log保存路径 mysql>setglobal slow_query_log_file='/usr/local/mysql/data/slow.log'
设置最小时间 mysql>setglobal long_query_time=1; //记录大于1S
pt-query-digest
慢查询日志分析工具之pt-query-digest - 醉梦一生 - 博客园