帮助编写复杂SQL查询的最佳工具?

时间:2009-08-16 13:03:22

标签: sql database dynamic-analysis

我经常发现自己花了很多时间弄清楚为什么某些SUM() - 聚合在SQL查询中错误地总结。如果我在添加JOIN时不小心,经常会出现此问题,导致重复值总结等。如果我使用包含大量JOIN,嵌套子查询,GROUP BY等的大查询,则调试非常复杂。

我想知道是否存在一个工具,通过图形化地说明总结,连接在一起的数据等,可以更容易地构建和调试复杂的查询。

http://www.imada.sdu.dk/~sorenh07/misc/datacentric-querytool.png

中说明了我正在寻找的一个例子

这当然只是一个早期的模型,我对与此相关的任何评论感兴趣。

6 个答案:

答案 0 :(得分:2)

恕我直言,最好的“工具”是教科书。这是软件无法为您执行此操作的区域之一。当然,它可以构建简单的选择和加入,但不是聚合函数或分组,或子选择等。为此,你必须学会​​用老式的方式 - 手工/湿文件。我推荐:Lynn Beighley的“Head First SQL”,来自O'Reilly Press。

  1. 拿一本书。
  2. 安装您选择的数据库。
  3. 导入一些测试数据。
  4. 尝试使用尽可能多的函数执行查询。
  5. 练习,练习,练习。

答案 1 :(得分:1)

每个数据库都附带内部命令来分析复杂的sqls,解释哪个连接效率不高或者需要更多时间来执行。

例如:如果你使用的是mysql,那么命令是:explain

答案 2 :(得分:1)

TOAD可能是用于此类事情的最佳多数据库工具,但是我不相信有任何替代方法可以自己彻底删除SQL。如果您在构建查询时遇到困难,那么有效地调试它几乎是不可能的。

答案 3 :(得分:0)

当我的查询过于丑陋时,我发现使用其中许多SQL beautifiers之一会很有帮助。这些不会为您打印图形,但只需要正确的缩进,语法高亮和括号将帮助您做出很好的协议。

答案 4 :(得分:0)

查看MyEclipse 7.5的新Visual SQL Builder。

答案 5 :(得分:0)

我使用名为“Code Factory for MySQL”的可视化工具。 它只适用于MySQL,也是一个很好的学习工具。