mysql - 在 MySQL View 上/通过 MySQL View 使用索引

标签 mysql

我们有一个 MySQL 表,其中的行永远不会更新,而是添加新行并将旧行标记为过时。想想 Rails 的 acts_as_paranoid,但对于每次更新。

为了使 Rails 的工作更加合理,我们有一个 View ,它只选择“当前”的行。这为我们的 ActiveRecord 模型创建了一个更好的“表”。

障碍:我们的索引不再被使用。

对 View 的查询不使用基础表的索引。您不能向 View 添加索引。如果没有索引,该应用程序将慢得无法忍受。

我们想出的唯一解决方案是构建物化 View ,但这在 MySQL 中是一个难题,因为它们不受原生支持。

有更好的方法吗?

最佳答案

由于 MySQL 执行 View 下的查询,它仍应使用构成 View 的查询的索引。对您用于创建 View 的查询进行解释,如果它没有编制索引,请在此处发布。

关于mysql - 在 MySQL View 上/通过 MySQL View 使用索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908628/

相关文章:

mysql - 作为 MySQL 时间戳的库存正常运行时间值

mysql - 使用 mysql 拒绝 "load infile"用户的访问

mysql - 有点复杂的 MySQL 语句

php - 使用多维数组构建具有 rowspan 的表

mysql - 在不同的 AWS 区域设置多主 MySQL 集群

php - Mysqli 在 php 中插入失败

mysql - 合并来自同一来源的两个计数查询

php - 当我的语句具有正确数量的参数和值时,为什么会出现 SQL 错误?

mysql - PhpMyAdmin 登录屏幕

java - jdbc setLoginTimeout 不起作用