Mysql - 查找未使用的表和列

时间:2009-09-08 02:40:17

标签: mysql analysis

假设我们有“系统A”,它包含一个MySQL数据库,有几个表。 一段时间后,您希望通过删除任何未使用的表和/或列来优化系统A,系统A非常大且难以忽略。是否有一个工具或方法可以让您运行系统一段时间,然后进行分析,打印出表,列等的一般用法 - 这样就可以找到未使用的表和列。

我正在考虑可能挂钩进入系统,记录所有进入服务器的SQL命令,但在这种情况下,应该在数据库端而不是应用程序端执行此操作。

2 个答案:

答案 0 :(得分:3)

General Query Log可能就是你要找的东西。

根据MySQL,使用General Query Log on:

  

服务器在客户端连接或断开连接时将信息写入此日志,并记录从客户端收到的每个SQL语句。

您需要使用--log[=file_name]-l [file_name]选项启动MySQL才能使用它。

答案 1 :(得分:0)

假设您已经将数据库与某种类型的应用程序链接起来,那么就不应该很难找到那些未使用的列。

此外,可以使用诸如分析器(不等于MySQL等价)的程序来显示所有SQL调用。由此您将了解正在使用的所有列。