【问题标题】:Are there any tools to visualize a complicated SQL join? [closed]是否有任何工具可以可视化复杂的 SQL 连接? [关闭]
【发布时间】:2013-06-18 15:30:31
【问题描述】:

鉴于许多框架会创建复杂(并且可能不那么可读/逻辑)的 SQL 查询,看起来有一个工具可以直观地显示连接是如何完成的可能是一个有用的工具。但是我还没有找到这样的工具。

我使用了一个包含大量表格的查询并创建了一个图形作为我认为此类工具的输出示例:

链接上的文本是连接中使用的字段名称。粗体项目是查询的输入。以数字结尾的表名只是同一张表的重复实例(即Partner和Partner2是同一张表,只是查询的一部分不止一次)。

我希望能够将 SQL 查询放入工具中并查看这样的图表。可能吗?

【问题讨论】:

    标签: sql visualization


    【解决方案1】:

    我找到了这个工具,它可能很有用。

    http://queryviz.com/online/

    虽然支持的 SQL 语法看起来相当有限..

    【讨论】:

    • 我会说非常有限:该工具甚至没有JOIN操作员
    • 你确定吗?他们给出的例子中有很多 JOIN。
    • 我说的是JOIN 运算符(select * from a join b on a.id = b.id),而不是where 子句中完全过时的隐式连接。
    • 我明白了。我想说这在学术界原型中很常见。
    • 不支持CROSS APPLY。
    【解决方案2】:

    您可以使用带有 SQL Server 的 SQL Analyzer 获得此类输出。 postgresql 也存在类似的情况:我从未见过 MySql 或 Oracle 的任何图形。

    换句话说:没有通用性(考虑到数据库优化器引擎的复杂性和个体性,这可能是人们所期望的)。

    【讨论】:

    • 我在 Oracle 上。戴夫,你能看到图表吗?我只有一个像素。哦,等等,这是我可爱的大型公司阻止 imgur。
    • @Dale:嗯,在 Oracle 中,您可以很容易地获得解释计划:但是开箱即用无法将其转换为图形输出(至少,我不知道)。
    • 也许那是我写作的工具……解释计划到可视化。当我有空闲时间时,哈哈哈!
    • "postgresql 存在类似的东西" - 你有那个链接吗?或者至少是工具的名称?
    • @a_horse_with_no_name:pgAdmin 附带一个基本的解释计划表示:pgadmin.org
    猜你喜欢
    • 1970-01-01
    • 2015-04-11
    • 2011-01-28
    • 2010-09-09
    • 1970-01-01
    • 2010-12-21
    • 2011-05-25
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多