zoukankan      html  css  js  c++  java
  • mysql常见优化手段

    • SQL语句中IN包含的值不应过多,不能超过200个,200个以内查询优化器计算成本时比较精准,超过200个是估算的成本,另外建议能用between就不要用in,这样就可以使用range索引了。
    • SELECT语句务必指明字段名称:SELECT * 增加很多不必要的消耗(cpu、io、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。所以要求直接在select后面接上字段名。
    • 当只需要一条数据的时候,使用limit 1
    • 排序时注意是否能用到索引
    • 使用or时如果没有用到索引,可以改为union all 或者union
    • 如果in不能用到索引,可以改成exists看是否能用到索引
    • 使用合理的分页方式以提高分页的效率
    • 不建议使用%前缀模糊查询
    • 避免在where子句中对字段进行表达式操作
    • 避免隐式类型转换
    • 对于联合索引来说,要遵守最左前缀法则
    • 必要时可以使用force index来强制查询走某个索引
    • 对于联合索引来说,如果存在范围查询,比如between,>,<等条件时,会造成后面的索引字段失效。
    • 尽量使用inner join,避免left join,让查询优化器来自动选择小表作为驱动表
    • 必要时刻可以使用straight_join来指定驱动表,前提条件是本身是inner join
    一个人有多自律,他就有多强!
  • 相关阅读:
    解决Tomcat请求中文乱码的问题
    Bootstrap 兼容 IE
    Spring+MyBatis多数据源配置实现
    年度总结与计划
    AJAX 提交表单以及文件上传
    移动端Web开发调试工具:Chrome DevTools
    SpringMVC 之 @ResponseBody 和 @RequestBody
    goland快键键防忘
    MySQL日志文件影响数据库的各种类型活动
    何为云计算
  • 原文地址:https://www.cnblogs.com/lyang4-09/p/14150392.html
Copyright © 2011-2022 走看看