gpt4 book ai didi

mysql - 索引限制使用表的规则 - MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:22 25 4
gpt4 key购买 nike

我有一个包含 8 列的混合数据类型(int、text、varchar 等)的表

此表只有一个对其进行操作的查询(SELECT),并且在该查询中它使用 4 个“AND”语句来过滤结果。

我的问题是:在这种情况下建立索引有哪些准则?

在我的例子中,读取时间比写入时间具有更高的优先级,所以我应该索引出现在 AND 子句中的所有列吗?我应该只索引整数吗?

最佳答案

对于一个查询,创建一个包含所有受影响的列的索引。

MySQL 的索引从左到右工作,这意味着如果您有一个包含以下列的表:

A varchar(255)
B varchar(50)
C int(11)
D datetime

KEY index (A,B,C,D) 上的索引意味着 MySQL 将从左到右查找查询中的列。如果您将它们全部包含在您的查询中,它将全部使用它们,但如果您只包含 AB,它将在应用其余部分之前使用它们来过滤结果剩余结果集的条件(假设您使用的是 AND)。

但是,如果您只包含 CD,它根本不会使用该索引,因为它不知道要在 A< 中查找什么.

关于mysql - 索引限制使用表的规则 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739659/

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