为什么数据库不能根据查询频率自动索引表?是否有任何工具可以分析数据库及其接收到的查询,并自动创建或至少建议创建哪些索引?

我对MySQL特别感兴趣,但我对其他数据库也很好奇.

推荐答案

可以启用或附加到数据库的数据库优化器可以建议(在某些情况下执行)索引,这些索引可能会有所帮助.

然而,这实际上不是一个微不足道的问题,当这些辅助工具第一次问世时,用户有时会发现它实际上由于劣质的优化而减慢了他们的数据库速度.

最后,业界对数据库架构师有很多钱,他们更喜欢现状.

尽管如此,数据库正变得越来越智能.如果将sql server事件探查器与microsoft sql server一起使用,您会找到加快服务器速度的方法.其他数据库也有类似的分析器,并且有第三方实用程序来完成此工作.

但是,如果您是编写查询的人,那么希望您对如何为正确的字段建立索引有足够的了解.如果没有,那么拥有正确的索引可能是您最小的问题…

-亚当

Database相关问答推荐

删除Postgres中的JSONB列并在不停机的情况下回收空间

Postgresql 服务器:允许访问私有网络内的远程连接,而不是外部网络

utf-8 与 latin1

add_index 到数据模型 - Ruby on Rails 教程

复制 MySQL 数据库的最简单方法?

如何在 Products 表的主键和自然键之间做出决定?

数据库设计:喜欢表?

Spring 的 JdbcTemplate 是否在查询超时后关闭连接?

被删除的行占用的空间会被重新使用吗?

将图像文件存储在 Mongo 数据库中,这是个好主意吗?

数据库中一致且全面的地址存储的最佳实践

归档实时 MySQL 数据库的最佳方式

我是否需要为关系数据库表的主键创建单独的索引

如何使用 Hibernate 在不丢失数据的情况下更新数据库模式?

从 CSV 文件填充 Android 数据库?

Django:检测数据库后端

最小覆盖和功能依赖

归一化 - 2NF 与 3NF

在一个查询中使用 group by 计算多列

如何从多个表中 Select 不同的值