gpt4 book ai didi

MySQL 索引性能... WHERE 上的索引取决于状态

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

该表包含 4 列:id(自动增量)、userid(唯一,如 ssn)、status(TINYINT(1)、0 或 1 值,不为 NULL)、user_info(varchar(1000))。

如果出现以下情况,我是否应该在 userid 列上放置索引以提高性能:30% 的请求是

"SELECT user_info from Table1 WHERE userid='1234567'";

40% 的请求是:

"SELECT user_info from Table1 WHERE userid='1234567' AND status=0";

20% 的请求是:

"SELECT user_info from Table1 WHERE userid='1234567' AND status=1";
或者,有更好的方法来提高性能(我应该考虑以某种方式对状态列建立索引)?

如果(30%,40%,20%)实际上变成(9%,90%,1%),即大多数请求的状态=0,我是否应该更改某些内容?谢谢。

最佳答案

由于列内容不够多样化,status 上的索引不太可能提高 SELECT 性能。由于列内容非常多样化,userid 上的索引很可能会大幅提高性能。

当您将 userid 列定义为 unique 时,自动创建的唯一索引应该已在您的查询中使用。因此无需定义额外的索引。

关于MySQL 索引性能... WHERE 上的索引取决于状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106378/

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