これを実行してから SET SHOWPLAN_TEXT ON; SET SHOWPLAN_ALL ON; 次のように、通常通りSQLを実行すると、 SELECT TOP 10 * FROM dbo.D_作業予定ファイル; こんな結果が得られる。 |--Top(TOP EXPRESSION:((10))) |--Table Scan(OBJECT:([TESTDB].[dbo].[D_作業予定ファイル]))
前回「システムの寿命はコードで決まる!」ではコード設計について解説しました。今回はデータへの最短ルート、つまりSQLの最も効率的なアクセスパス(実行計画)を見つけ出すためのテクニックを解説します。 SQLはデータベースに関する最も基本的な技術で、まずSQLから学んだ(でいる)という方は多いと思います。しかし、SQLを学ぶ際、データベースから必要なデータを取得する手段を学んでも、どのようなアクセスパスでデータを取得するかは後回しになることが多いのではないでしょうか。 商用のシステムで使用されるSQLは、必要なデータを取得できるだけでは不十分で、どれだけ素早く取得できるかも重要です。データ取得の素早さは、SQLに適用されるアクセスパスの良しあしで決まります。そこで、今回は「どんなアクセスパスが適しているか」「どうやってRDBMSに適切なアクセスパスを利用させるか」を以下のような構成で解説します
前回はPostgres Plus Advanced ServerのOracle Database互換性機能を中心にご説明しました。Postgres Plus Advanced Serverは、Oracle Databaseで培ったスキルを活用することができます。そのため、PostgeSQLの活用はハードルが高そうだと感じるユーザであっても、より簡単に採用できるRDBMSの選択肢を広げることができるのではないでしょうか。 企業内で幅広く活用されるRDBMSには、高い信頼性や可用性、性能が求められますが、運用管理の容易性や、性能問題への対処方法の多様性、性能問題調査の容易性も重要な要素となります。 今回は、Postgres Plus Advanced Serverで機能強化されているSQLヒント、Postgres Enterprise ManagerのIndex Advisor、DRITA (
たまに実行計画で見かけるBitmap Heap Scan や Bitmap Index Scan が気になり調べてみた。ここの解説がわかりやすい。 【PostgreSQLウォッチ】第17回 新しい実行プラン・タイプによるPostgreSQL 8.1の性能向上 Indexの種類としてビットマップインデックスというものがB-Treeインデックスに並ぶものとしてあるというわけではなく、実行時にビットマップを使うよということ。ビットマップヒープスキャンが行われそうなクエリを投げて実行される処理を確認する。 ドキュメントで触れているのはここかな。 11.5. 複数のインデックスの組み合わせ 他のRDBMSでインデックスマージと呼んでいるものと同じなのかもしれない。 クエリ(explain analyze verboseつき) aidにはインデックスが張られている。aidに対してはorで検索。bidに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く