Mysql InnoDB 视图变得缓慢并且不使用 Where 子句
Posted
技术标签:
【中文标题】Mysql InnoDB 视图变得缓慢并且不使用 Where 子句【英文标题】:Mysql InnoDB views are becoming slow and Not Using Where Clause 【发布时间】:2018-11-06 13:25:54 【问题描述】:我们的 500K 行视图变得很糟糕,因为它们无法在基础表上使用索引。 View 上的 where 子句对视图创建没有影响。在 Sql server 中应用 mysql Where 子句之前创建视图是真的吗? 我们有没有办法使用 Where 子句和 Join 来加快我们的视图查询?
MySQL 视图存在的一个问题是 MySQL 不会将谓词从外部查询“推”到视图查询中。 here
select * from reportview_23 where id = 100;
【问题讨论】:
您的问题是什么?您似乎了解视图在 MySQL 中的工作原理。 @GordonLinoff 嘿,我更新了。 。 .我不相信 MySQL,尽管最新版本可能改进了视图优化。 【参考方案1】:您可能会在视图中遇到一些查询限制,这会阻止视图合并预测值...例如使用 LIMIT、DISTINCT、子查询列...
【讨论】:
你能提供一些代码吗?以上是关于Mysql InnoDB 视图变得缓慢并且不使用 Where 子句的主要内容,如果未能解决你的问题,请参考以下文章
MySQL单独存放表空间Innodb_file_per_table
MySQL——索引视图事务,存储引擎MyLSAM和InnoDB(实战篇!)