美文网首页
后端存储9(mysql索引)

后端存储9(mysql索引)

作者: 兮兮码字的地方 | 来源:发表于2020-10-04 11:11 被阅读0次

怎么能避免写出慢SQL

慢sql的量化指标

一台 MySQL 数据库,大致处理能力的极限是,每秒一万条左右的简单 SQL,这里的“简单 SQL”,指的是类似于主键查询这种不需要遍历很多条记录的 SQL。

1,实际上,一般一台 MySQL 服务器,平均每秒钟执行的 SQL 数量在几百左右,就已经是非常繁忙了,即使看起来 CPU 利用率和磁盘繁忙程度没那么高,也需要考虑给数据库“减负”了。,

2,编写一条查询语句的时候,可以依据查询数据表的数据总量,估算一下这条查询大致需要遍历多少行数据。如果遍历行数在百万以内的,只要不是每秒钟都要执行几十上百次的频繁查询,可以认为是安全的。

1,使用索引避免全表扫描

2,分析 SQL 执行计划

SQL 语句前面加上 EXPLAIN 关键字

rows 的含义就是,MySQL 预估执行这个 SQL 可能会遍历的数据行数。第一个 SQL 遍历了四千多行,这就是整个 User 表的数据条数;第二个 SQL 只有 8 行,这 8 行其实就是符合条件的 8 条记录。

type 这一列,这一列表示这个查询的访问类型。ALL 代表全表扫描,这是最差的情况。range 代表使用了索引,在索引中进行范围查找,因为第二个 SQL 语句的 WHERE 中有一个 LIKE 的查询条件。如果直接命中索引,type 这一列显示的是 index。如果使用了索引,可以在 key 这一列中看到,实际上使用了哪个索引。低效的 LIKE 查询条件仍然可以用到索引的范围查找,遍历数据的行数远远少于第一个 SQL,查询性能更好。

相关文章

  • 后端存储9(mysql索引)

    怎么能避免写出慢SQL 慢sql的量化指标 一台 MySQL 数据库,大致处理能力的极限是,每秒一万条左右的简单 ...

  • MySQL 索引和 SQL 调优

    MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引...

  • 索引问题

    1.索引存储分类索引是在MySQL的存储引擎层实现的,每个存储引擎的索引不一定相同。MySQL提供以下4种索引: ...

  • MySQL和ES的索引对比

    [toc] MySQL索引实现 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,...

  • MySQL索引实现及优化

    MySQL索引实现 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论...

  • 索引类型

    一. MYSQL的索引mysql中,不同的存储引擎对索引的实现方式不同,大致说下MyISAM和InnoDB两种存储...

  • mysql索引

    mysql支持的索引 索引是在存储引擎层实现。而不是在mysql内实现 B-tree索引 index 普通索引 没...

  • 总结mysql索引失效的N种情况

    mysql中,索引是存储引擎实现的,不同的存储引擎索引的工作方式不一样,由于mysql默认的存储引擎为InnoDB...

  • 从 BAT 面试回来,我总结了这三类 MySQL 高频面试题

    一:MySQL存储与索引有关问题 MySQL 有哪些存储引擎啊?都有什么区别?Float、Decimal 存储金额...

  • MySQL索引

    索引存储方式分类 MySQL的Innodb存储引擎的索引分为聚集索引和非聚集索引两大类 聚集索引 特点:B+树叶子...

网友评论

      本文标题:后端存储9(mysql索引)

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