gpt4 book ai didi

sql - 需要在 AND 语句中索引列吗?

转载 作者:行者123 更新时间:2023-11-29 14:54:17 24 4
gpt4 key购买 nike

我必须在这样的表上执行 SELECT:

  • ID
  • 用户名
  • 速度
  • 正在运行

声明如下:

SELECT * 
FROM mytable
WHERE username = 'foo'
AND is_running = 1

我有一个关于“用户名”的索引。如果我正在运行上述语句,是否还需要索引“is_running”以获得最佳性能?或者只有选择的第一列有区别?我使用的是 mysql 5.0。

最佳答案

这取决于您存储的数据类型。如果它是 bool 值,您可能不会看到仅该列上的索引带来的 yield 。您可能想尝试在两列上添加复合索引:

ALTER TABLE mytable ADD INDEX `IDX_USERNAME_IS_RUNNING` ( `username` , `is_running` );

关于sql - 需要在 AND 语句中索引列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5034912/

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