MySQL 查询优化

港控/mmm° 2023-02-08 12:46 64阅读 0赞

在这里插入图片描述

第一章:一个章节就讲清楚 MySQL 架构,锁,事务,多版本并发控制等,讲得很精炼,需要了解过才能读懂上下文。掌握它,然后跟公众号、无效博客重复的内容 say bye bye。

四、五、六章:主要介绍查询优化,比较贴近日常业务开发工作,重点看看
八、九、十四章:讲服务器优化,硬件优化,应用层优化
十、十一,十二、十五:讲复制,扩展,高可用,备份与恢复,与MySQL的高可用、扩展性有关

一说到提高 SQL 的查询效率,脑海里条件反应似的想到加索引。
其实加索引这是一方面。
我觉得需要一个系统的、有结构的分类和总结。
大致分为库表结构优化、索引设计优化和查询优化。

库表结构优化

  1. 选择合适的数据类型
    例如:字符串类型使用 varchar 而不是 char
  2. 在范式和反范式的设计中取舍
    例如:适当冗余字段

索引设计优化

  1. 提高索引的选择性(区分度)
  2. 组合索引
  3. 选择适合的索引列顺序
  4. 使用覆盖索引
  5. 善用最左前缀原则避免创建重复的索引

查询优化

  1. 避免查询不需要的列
  2. 把连接查询分解成单表查询
  3. MySQL 5.5 及以下的版本避免使用子查询,用关联查询来优化,使用 5.6 及以上版本的则可以考虑子查询。但无论哪个版本子查询的效率都不如关联查询的高。

发表评论

表情:
评论列表 (有 0 条评论,64人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql查询优化

    目录 一.用explain去分析sql 二.单表查询优化 1.无索引 技巧一:避免select \ 查询全部列 技巧二:sql的全盘扫描是从第一行数据一直扫描到最后

    相关 MySQL 查询优化

    使用索引 规则 1. 全值匹配:查询的字段按照顺序在索引中都可以匹配到, 2. 最佳左前缀法则:指的过滤条件要使用索引必须按照索引建立时的顺序依次满足 , 一旦

    相关 Mysql查询优化

    mysql实现根据多个字段查找和置顶功能 mysql根据多个字段查找在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句'TABLE\_NAME'然

    相关 mysql 查询优化

    MySQL 的查询语句的优化有两种办法: 第一种使用explain;第二种使用show profile 一:explain的使用 ![在这里插入图片描述][wate

    相关 mySQL查询优化

    糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。   如同其它学科,优化查询性能很大程度上决定于开发者的

    相关 mysql查询优化

    数据库查询优化 > Innodb存储引擎支持以下几种常见的索引: B+树索引 全文索引 哈希索引 Innodb存储引擎支持的哈希索引是自适应的,In

    相关 MySQL查询优化

    为什么查询会慢? 查询慢的原因可能很多,比如网络原因、锁争用等等。但最基本的原因可能是访问的数据太多。要么可能访问了太多的行,要么可能访问了太多的列,要么可能MySQL在