2
A
回答
3
MySQL没有(当前)支持非Key列。对于其他DMBS,您需要检查参考手册。
A similar question已被询问并在这里回答。然而,由于使用覆盖索引所带来的性能提升通常对于返回大量行的非选择性查询而言更大,所以我无法想象只是在索引本身中包含额外的列以提供性能改进的解决方案。但是,可能有些情况我没有想到,你可能就是其中之一,所以在寻找性能改进时,测试,执行计划和IO统计数据会告诉你远远超过我的猜想!
相关问题
- 1. Mysql的覆盖索引优化
- 2. EF代码优先:CreateIndex - 覆盖索引
- 3. 使用覆盖索引的说明
- 4. 代码覆盖优化
- 5. 索引优化
- 6. MySQL的使用索引优化排序
- 7. Postgres使用主键索引作为覆盖索引
- 8. 搜索引擎优化的网站地图 - 覆盖或个人页面?
- 9. 覆盖ASP.NET WebForms MasterPage Header渲染函数的搜索引擎优化
- 10. activeadmin覆盖索引操作
- 11. 覆盖索引操作
- 12. SSRS 2005年覆盖索引
- 13. 复合和覆盖索引
- 14. 覆盖索引列activeadmin
- 15. 覆盖索引与ORDER BY
- 16. Python中的字符串覆盖优化
- 17. MySQL索引优化
- 18. Lucene索引优化
- 19. 优化mysql索引
- 20. PostgreSQL索引优化
- 21. 优化索引来避免使用filesorting
- 22. 查询优化器不使用索引
- 23. MySQL查询优化 - 使用索引
- 24. 优化SELECT查询 - 索引使用等
- 25. 使用索引优化Mysql表格
- 26. 优化MySQL查询 - 使用索引
- 27. 优化拒绝使用索引
- 28. 查询优化不使用索引
- 29. 搜索引擎优化HTML5视频(video.js)介绍与覆盖淡出
- 30. 广度优先搜索:骑士覆盖
*您如何知道您的系统是否允许将非关键字段包含在索引中*:您检查系统的文档。但是,为了加快搜索速度,MySQL不支持在索引内指定非键列。 [这个答案](http://stackoverflow.com/a/13387903/1048425)提供了一个可能的解决方法。 – GarethD
MySQL不支持这个。 @GarethD你应该加上这个答案,以便他能接受。 –
@GarethD是的,知道了这个选择,但是为了避免大索引大小的开销。 – Brett