19

EXPLAIN SELECTクエリは、SQLの実行方法に関する情報を提供し、クエリ自体を実行して統計を分析する前に応答を改善するために追加する必要がある不足しているインデックスなどを分析する機会を提供するため、MySQLで非常に便利であることがわかりました。

私の質問は次のとおりです。MSSQL、Firebird、Ingresなどのデータベースで、同様のコマンドを使用できますか?

FirebirdにはPLANがありますが、単純な間違いを表示するために非常に長いクエリを実行しなければならないことが多いため、非常に弱いです。

よろしくお願いします、

マウロH.レギエリ

4

6 に答える 6

19

Oracle

EXPLAIN PLAN FOR SELECT …

PostgreSQL

EXPLAIN SELECT …

SQL Server

SET SHOWPLAN_XML ON

GO

SELECT …

GO
于 2009-08-31T15:24:11.500 に答える
4

mssqlサーバーの場合は次を使用できます

SET SHOWPLAN_TEXT ON and SET SHOWPLAN_TEXT OFF

これにより、クエリが実際に実行されるのを防ぐことができますが、クエリプランが返されます。

オラクルの場合は、

SET AUTOTRACE ON or EXPLAIN PLAN

(私はファイヤーバードやイングレスについて知りません)

于 2009-08-31T15:24:45.443 に答える
3

オラクルには

EXPLAIN PLAN for sql

http://www.adp-gmbh.ch/ora/explainplan.html

MS SQL Serverでは、実行プランのテキストバージョンまたはXMLバージョンを取得できます。

SET SHOWPLAN_XML ON|OFF
SET SHOWPLAN_TEXT ON|OFF

ただし、これらはSql Server Management Studio/TOADのビジュアルツールを使用して表示するのが最適です。

http://msdn.microsoft.com/en-us/library/ms176058.aspx

非常に便利な他の何かは

SET STATISTICS IO ON|OFF
于 2009-08-31T15:24:42.247 に答える
3

Ingres の場合、行数、ディスク IO、および CPU サイクルに関する見積もりとともに選択された最終的な計画を以下に示します。

set qep

計画を取得するがSELECTを実行しない場合も追加します

set optimizeonly

クエリの実行を再度有効にします。

set nooptimizeonly

実行されたクエリの実際の統計を取得し、「set qep」からの出力と比較します。

set trace point qe90

上記の詳細については、 http://docs.ingres.com/Ingres/9.2/SQL%20Reference%20Guide/set.htmを参照してください。

于 2009-08-31T18:03:57.213 に答える
0

MS SQLには、クエリの実行時にDisplay Execution Plan(Estimated and Exact)と呼ばれるユーティリティがManagementStudioにあります。また、クエリの統計(実行時間、行数、トラフィックなど)を表示することもできます。

于 2009-08-31T15:24:49.517 に答える
0

Ingres については、次のリソースも参照してください。

クエリ実行計画 (QEP) [pdf] の読み取りと解釈の例

QEP の分析と解釈を示す簡単なケーススタディ

JDBC を使用して Ingres Qep LockTrace を取得する

クエリ実行計画 (QEP)

于 2009-10-28T14:01:06.060 に答える