gpt4 book ai didi

mysql - 索引 'enabled' 字段好主意?

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

网站的内容存储在 MySQL 数据库中。 99% 的内容将被启用,但一些(用户、帖子等)将被禁用。大多数查询以 WHERE (...) AND enabled

结尾

在“已启用”字段上创建索引是个好主意吗?

最佳答案

仅在 enabled 上创建索引没有多大用处。但是创建一个包含 enabled 的复合索引可能会有用,以实现 ORDER BY optimisation。 .

例如,如果这样的事情是一个常见的查询:

SELECT * FROM things WHERE c1='foo' AND enabled=1 ORDER BY c2

c1 上的索引可以快速找到匹配的行,但仍需要使用 c2 在单独的步骤中对其进行排序。

c1, c2 上的索引应该允许从索引进行排序,大大加快查询排序,但索引中缺少 enabled 会打败它,因为它必须编译由 c1 索引的匹配行列表,然后扫描每一行以在排序前检查它是否已启用 c2 的结果。

如果索引是 enabled, c1, c2c1, enabled, c2,整个 WHERE 条件和 ORDERing 可以直接从索引中获取,得到更快的结果.

一如既往,这取决于您正在执行的查询;你应该EXPLAIN您最常见的查询,以检查它在做什么。

关于mysql - 索引 'enabled' 字段好主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2931030/

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