美文网首页
mysql优化的策略

mysql优化的策略

作者: 清明小雨 | 来源:发表于2015-10-16 22:25 被阅读0次
    1. 配置参数
    • 索引缓冲区长度key_buffer_size,推荐设置为可用内存的25%,目的是缓冲更多的索引
    • 表缓冲长度 read_buffer_size,目的缓冲最常用的表
    • 慢查询日志时间阈值 long_query_time,可以获取查询的时间瓶颈
    2. 添加索引
    • 为user表的username字段添加索引
      CREATE INDEX idx_username ON user(username)
    3. explain
    • explain 放在select之前用于解释语句的执行过程,我们可以用它来分析当前语句的优化效果
      重要的三个输出行:
    1. type: 联接的类型
      • const:最优,使用primary key或者unique key检索,最终只得到一条数据
      • ref: 较好,在多个表联接,只使用最左边的前缀,也就是第一个表的非primary和unique字段时使用。
      • range:使用一个索引来检索一个范围内的行
      • all: 对多个表的联接进行完全的扫描,最差
    2. keys:使用的索引
    3. extra:查询的详细信息
      • range checked for each record: 没有找到合适的索引
      • using filesort: 使用了排序,一般这种情况需要为排序的列添加index
      • using temporary: 使用了临时表容纳结果
    4. profiler
    • 用于监测sql语句的性能瓶颈
      set profiling = 1
      show profiles //显示所有查询,其中QUERY_ID可以用于下一条语句
      show profile [] for QUERY [] //查看某条查询CPU,IO等消耗
    5. 查询大表
    • 核心思想就是避免全表扫描

    相关文章

      网友评论

          本文标题:mysql优化的策略

          本文链接:https://www.haomeiwen.com/subject/nslacttx.html