在 MySQL 视图查询中使用索引
问题:
您遇到性能问题使用 MySQL 视图,因为基于视图中不使用基础表上的索引
原因:
MySQL 不会将过滤谓词(例如,WHERE发生的_in = 2006)从外部查询推送到视图查询中。相反,它将视图结果具体化为中间临时表,并将谓词应用于该表。因此,原表上的索引无法有效使用。
解决方案:
要在视图查询中利用索引,您需要创建一个合适的索引,该索引可以由视图查询使用。在这种情况下,建议使用包含视图查询中引用的所有列的覆盖索引。
最佳索引:
CREATE INDEX highscores_IX3 ON highscores (player, gone_in,分数)
为什么有效:
其他注意事项:
以上是如何利用 MySQL 视图查询中的索引来提高性能?的详细内容。更多信息请关注PHP中文网其他相关文章!