我在 MySQL 中创建了一个 View
create view vtax
as
SELECT * FROM table1
union
SELECT * FROM table2;
表 1 有 800000 条记录,表 2 有 500000 条记录,当我运行独立查询时,结果以 0.078 秒返回,但是当我通过 View 运行它们时,它会折腾花费超过 10- 15 秒。
select * from vtax where col1=value; -- takes more than 10-15 secs
select * from table1 where col1=value; -- takes 0.078 secs
select * from table2 where col1=value; -- takes 0.078 secs
我已经分别在表上创建了索引。
任何帮助/想法应该做什么。
最佳答案
UNION
对您的结果执行不同的操作(通常是排序)。可以用吗
UNION ALL
? (即行是否不同?)
关于MySql View 与其基本查询相比速度较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862302/