我有一个 View (例如“v”),它是使用多个联接和复杂计算的10 个表的组合。在该 View 中,大约有 10,000 行。
然后我根据 WHERE id = 23456 行选择 1 行。
使用更大查询的另一种可能方法,在复杂计算开始之前,我可以将数据集缩短到 1%。
Question: Are SQL views optimized in some form?
最佳答案
MySQL View
只是语法糖。没有特别优化。将 View 视为文本合并; 然后进行优化。也就是说,您可以通过手动编写等效的 SELECT
来获得相同的优化(或不获得相同的优化)。
如果您想进一步讨论特定查询,请提供SHOW CREATE TABLE/VIEW
和EXPLAIN SELECT ...
。您可能缺少一个有用的“复合”索引。
关于MySQL View 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47316213/