gpt4 book ai didi

Mysql索引解释

转载 作者:行者123 更新时间:2023-11-29 12:18:05 25 4
gpt4 key购买 nike

来自: https://dev.mysql.com/doc/refman/5.5/en/multiple-column-indexes.html

MySQL 可以使用多列索引来执行测试索引中所有列的查询,或仅测试第一列、前两列、前三列等的查询。如果您在索引定义中以正确的顺序指定列,则单个复合索引可以加速同一表上的多种查询。

列的使用顺序重要吗?

示例:id、名字、姓氏、中间名、地址

索引(名字、姓氏、中间名)

索引:

  • 名字
  • 名字、姓氏
  • 名字、姓氏、中间名

进行查询时,WHERE 的顺序重要吗?

示例:

其中first_name = 'Chris' 且last_name = 'Smith'

VS

其中last_name='Smith' 且first_name='Chris'

这些基本相同吗?

最佳答案

Are these basically the same?

简短的回答 - 是的,它们是相同的。

where子句的顺序并不重要,重要的是所使用的列是否与索引列从左到右的顺序匹配。举个例子:
索引:

(first name, last name, middle name)

Where 子句(顺序无关紧要):

名字、姓氏 - 由索引覆盖
姓氏、中间名 - 未涵盖,因为不包含名字 列。这是因为索引存储为 B 树,如果您不提供第一列,您将不会命中它。

http://use-the-index-luke.com/有很多关于索引的信息。

关于Mysql索引解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com