2009-06-15 4 views
3

Я ищу инструмент, который поможет создавать сложные SQL-запросы. Иногда бывает сложно даже проверить правильность результатов запроса. Особенно легко получить запросы, соединяющие несколько таблиц, чтобы возвращать слишком мало или слишком много данных.Мощные инструменты для создания SQL-запросов

Инструмент должен включать, по крайней мере, создание тестовых таблиц, визуализацию того, как запросы собирают свои данные и, надеюсь, лучше разбираются в ошибках, чем, например, Oracle.

Есть ли инструменты вроде этого или я должен придерживаться создания тестовых таблиц вручную, заполняя их тестовыми данными и отправляя все виды запросов с помощью SQuirrel SQL?

ответ

1

Какие СУБД вы используете? Все основные из них имеют доступную консоль (например, SSMS в SQL Server, Toad в Oracle, MySQL Query Browser/Administrator для MySQL и т. Д.), И все они имеют планы выполнения запросов, где вы можете видеть, как запрос будет фактически бежать. Итак, ответ на ваш вопрос заключается в том, что он полностью зависит от того, какие RDBMS вы используете, но ответ на безопасную ставку: Да.

+0

Я использую Oracle в настоящее время. Я знаю план объяснений, но он дает довольно низкую информацию. – tputkonen

1

Я рекомендую попробовать SQL Server 2008 Management Studio Express (SSMSE), если вы работаете с SQL Server. Я использовал его на работе, и я считаю, что он делает все, что вы ищете.

Вы можете получить его и SQL Server (Express Editions) here.

+0

Спасибо, я попробую. Несмотря на то, что я использую Oracle, я бы не возражал против создания наиболее сложных запросов с использованием другой БД. – tputkonen

0

Конечно, не бесплатно, с открытым исходным кодом решения, но я считаю, ЖАБА Quest Software будет соответствовать вашим требованиям. Кажется, что Quest предлагает множество инструментов в этом пространстве ... у них есть инструменты для моделирования и анализа, однако я никогда не использовал модельер или анализатор.

У меня лично есть опыт работы с коммерческой версией TOAD для Oracle. Сначала это GUI, но после того, как вы мысленно отфильтровываете все дополнительные кнопки, которые вы никогда не будете использовать, это управляемо.

1

Когда у вас очень сложный запрос, он обычно проще всего проверять, разбивая его на несколько запросов, которые заполняют временные таблицы. Эти промежуточные результаты могут быть индивидуально проверены, а затем вы объединяете их для создания окончательного набора результатов. В зависимости от потребностей производительности вы можете придерживаться подхода таблицы temp, или вы можете переписать его в один оператор. Обычно, когда у меня есть огромный запрос, он предназначен для фоновой обработки, поэтому я придерживаюсь подхода temp table.

Смежные вопросы