4
A
回答
5
一般来说,是的。如果您在该字段上执行ORDER BY
,则应该将其编入索引。当然,你需要首先测试它,以确保它确实有帮助 - 如果你只选择了少量的行,它可能没有太大的区别。
4
你真的希望有一个sort_order
值maxes out at 9,223,372,036,854,775,807?!假设为零,INT仍然相当大,最大值为2,147,483,647 ...
取决于您的查询,但我会考虑在独立之前在覆盖索引中使用它。 MySQL has a space limit on indexes,如果您定义每列索引,则可能会达到上限:
前缀支持和前缀长度(受支持的)是依赖于存储引擎的。例如,对于MyISAM表,前缀可以长达1000个字节,对于InnoDB表,前缀可以长达767个字节。
2
正如埃里克上面已经提到的,答案是肯定的。
尽管如此,如果你实际上是做了很多的插入和更新的表中,MySQL构建的,需要每一个有表中所做的更改时要更新的索引信息的单独块。因此在某些情况下可能会有开销。
所以基本上这是一个混合的情况下,情节应始终考虑。
2
一般来说,没有。你用搜索来证明索引。当你将记录数减少到通常显示的数字(比如说少于几百)时,有一个索引不会为你购买任何东西。
所以只能添加一个索引,如果你会使用字段选择(其中包括,比如说,“LIMIT 500”为实例。)
相关问题
- 1. 我应该在Rails应用程序中索引哪些字段?
- 2. 我应该索引我的TenantId列吗?
- 3. 搜索字段上的TSQL索引,我应该包括Id
- 4. 我应该为此创建索引吗?
- 5. 我应该索引一个已经是多字段索引一部分的字段吗?
- 6. 我应该在弹性搜索中控制索引大小吗?
- 7. MySQL - 索引,字段顺序
- 8. 我应该为每个使用的字段添加数据库索引吗?
- 9. 我在做MySQL表的索引吗?
- 10. 我应该为WHERE子句中的所有字段添加一个索引吗? - MySQL
- 11. 我应该使用MySQL blob字段类型吗?
- 12. 在mysql中使用where子句时,我应该使用索引吗?
- 13. 我应该在Algolia中使用一个或多个索引吗?
- 14. 应该索引多少个字段,我应该如何创建它们?
- 15. 在MySQL中,我应该选择哪种排序规则?
- 16. 我应该把索引放在什么上的MySql?
- 17. 我应该在经常更新的表上使用索引吗?
- 18. 我该如何索引我的MySQL表中的列?
- 19. 在MySQL中转义关键字时,我应该使用反引号吗?
- 20. 在其列,我应该创建索引
- 21. 我应该在django网址中使用slug字段吗?
- 22. 我应该在ViewState中存储数据库ID字段吗?
- 23. 当我在搜索的字段上排序时,可以更快地搜索排序的列表<T>吗?
- 24. 当我更改Stemmer时,我应该在Elasticsearch中重新索引文档吗?
- 25. MySQL:我可以索引日期时间字段吗? MySQL不会这样做
- 26. 由两个字段排序 - 索引
- 27. 索引排序后更改order字段
- 28. 我应该在这里使用唯一索引吗?为什么?
- 29. 我应该在这些列上创建一个索引吗?
- 30. 我应该规范化时态表中的额外字段吗?
即使在有限的记录,有希望的性能每一点的商店,他们可以得到。 – 2010-06-22 22:14:43
这几乎肯定是净亏损。如果集合很小,“ORDER BY”不会受益;维护索引是纯粹的开销。 – dkretz 2010-06-23 01:43:18
“一般来说,否”不会涵盖需要全表读取并且有序读取有益甚至是必需的情况吗? – Harald 2015-06-30 12:27:39