【发布时间】:2011-07-02 23:35:03
【问题描述】:
我们有什么方法可以查询 db 以建议索引创建/索引删除,从而提高 db 系统的性能?
我们知道 dba 可以手动查看跟踪文件以创建/删除索引,但我可以编写一个查询 db 引擎以自动提出相同建议的 java 程序。
或者我可以签出一些开源工具以自动执行相同的操作。
谢谢。
【问题讨论】:
-
你用的是什么数据库引擎?
标签: java sql database indexing
我们有什么方法可以查询 db 以建议索引创建/索引删除,从而提高 db 系统的性能?
我们知道 dba 可以手动查看跟踪文件以创建/删除索引,但我可以编写一个查询 db 引擎以自动提出相同建议的 java 程序。
或者我可以签出一些开源工具以自动执行相同的操作。
谢谢。
【问题讨论】:
标签: java sql database indexing
没有标准的 JDBC 方法可以做到这一点。特定 DBS 可能有特定的驱动程序实现,可以让您解释您的查询(跟踪索引的使用)等。但这里没有一刀切的答案。
总的来说,我倾向于说不。
【讨论】:
您的索引性能取决于您对它们触发的查询...所以不!
【讨论】:
特别是使用 MySQL,您可以标记慢查询,以及不使用索引的查询。
最终,数据库将尽最大努力(在您创建的范围内)优化您的查询。
http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
这些数据将被记录到一个文件中,不一定可以通过 API 获得。
【讨论】: