扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Schema的优化和索引 - 索引的基础
索引是数据结构。它能帮助MySQL更有效率的获取数据。它对于好的性能是决定性的因素,但是人们常常忘记使用它们或者没有正确的理解它们,因此在现实的例子中,索引总是引起性能问题。这就是我们把索引放在这本书的较早部分的原因。甚至把索引这章放在语句优化之前。
索引(在MySQL中也叫做键(keys))在数据越来越大的时候,变的格外重要。数据量小,没有高的负载的情况下,在没有索引的情况下,数据库也可以表现的很好,但是随着数据量的增大,性能下降还是非常厉害的。
最简单的理解MySQL索引的工作方式就是思考下这本书的索引。你可以通过此书的索引,很容易找到你需要的内容。并且可以知道内容的页码。
MySQL使用索引的方式也是相类似的。它查找了值的索引数据结构。当它找到一个匹配,它就能找到包含这个匹配的行。假如你运行一下的语句:
mysql> SELECT first_name FROM sakila.actor WHERE actor_id = 5;
在actor_id上会有一个索引,所以MySQL使用索引来查找actor_id为5的行。换句话说,它通过索引来查找值,并且返回包含这些指定值的任意的行。
一个索引包含的值是来自于一个表中指定的列或者一些列。如果你索引超过1列的话,列的顺序就尤为重要了。因为MySQL只高效的搜索最左边前缀的索引。你将会看到,在两个列上创建一个索引和为两个列分别创建单独的索引是不同的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者