ZKX's LAB

MySQL 对于千万级的大表要怎么优化? 聚簇索引和单列索引

2020-10-09知识11

《高性能MySQL》应付后端面试看哪些章节? 转载:https://mp.weixin.qq.com/s/fUPESYvyno3SNKC7vxeDBA来自公众号孤独烟大佬推荐的MySQL面试,值得一…

MySQL 对于千万级的大表要怎么优化? 聚簇索引和单列索引

如何通过优化sql语句提高数据库查询效率? 谢邀!通过SQL调优提高查询性能最重要的就是对索引的使用,下面是对索引使用的一些总结,希望对你有所帮助。MySQL索引对数据检索的性能至关重要,盲目的增加索引不仅不能带来性能的提升,反而会消耗更多的额外资源。索引是用于快速查找记录的一种数据结构。索引就像是数据库中数据的目录,数据库在查询时,首先在索引中找到匹配的值,然后根据这个匹配值找到对应的数据行。聚簇索引的顺序就是数据的物理存储顺序,索引中数据域存储的就是实际的数据,一个表最多只能有一个聚簇索引,适用于查询多行数据,不适用于频繁修改的列,一般在主键上创建。非聚簇索引顺序与数据物理排列顺序无关,索引中存储的内容为实际数据的地址,适应于查询单行数据。普通索引,即平时创建的普通索引。唯一索引,索引所在的列或列组合的值是全表唯一的。全文索引,MySQL从3.23.23版开始支持全文索引,它查找的是文中的关键词,而不是直接比较索引中的值。单列索引,在单列上创建的索引。组合索引,在多个列上创建的索引。最左前缀查找:where子句中有a、b、c三个查询条件,创建一个组合索引abc(a,b,c),最左前缀的概念是说以组合索引最左边的列a组合成的查询条件,如(a,b,c)、(a,b)、(a,c),这三种。

MySQL 对于千万级的大表要怎么优化? 聚簇索引和单列索引

表的索引是什么意思 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列(例如,employee 表的姓名(name)列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:select*from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。【主要种类】数据库索引好比是一本书前面的目录,能SQL Server的B树结构加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。有关数据库所支持的索引功能的详细信息,请参见数据库文档。提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一。

MySQL 对于千万级的大表要怎么优化? 聚簇索引和单列索引

#mysql执行计划#位图#聚簇索引#mysql创建表#数据库

随机阅读

qrcode
访问手机版