代码之家  ›  专栏  ›  技术社区  ›  Jonny

mysql-查找未使用的表和列

  •  1
  • Jonny  · 技术社区  · 15 年前

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

    我正在考虑挂接到系统中,将所有SQL命令记录到服务器中,但在这种情况下,我宁愿在数据库端而不是在应用程序端这样做。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Bryan Menard    15 年前

    这个 General Query Log 可能是你想要的。

    根据mysql,一般查询登录:

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

    你需要用 --log[=file_name] -l [file_name] 选择以使用它。

        2
  •  0
  •   waqasahmed    15 年前

    假设您已经在将数据库与某种类型的应用程序链接起来,那么就不难找到正在使用的列,而不是那些没有的列。

    此外,可以使用profiler等程序(不确定是否与MySQL等效)来显示所有SQL调用。从此处,您将了解正在使用的所有列。