検索
連載

SQLチューニングの基礎知識 「データアクセスと索引(インデックス)」の関係を理解するゼロからのリレーショナルデータベース入門(5)(3/3 ページ)

本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、SQLのチューニングを行う上で最も重要な基礎知識を解説します。【更新版】

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

「索引」の注意事項

 ここまでの説明で、アクセス対象のデータ量によって適切なアクセス方法が異なることは、理解いただけたと思います。また、データベースのパフォーマンスを向上させるには、索引を効果的に使用することが重要です。

 効果的に使用されない索引は、逆にパフォーマンスを低下させる原因となるため、注意が必要です。

 例えば、ある表に5つの索引が作成されているとします。この状態で表にINSERT処理が行われると、表に行が追加されますが、同時に5つの索引にも自動的に新規のデータが追加されます。つまり、索引が存在すると、表と索引の間でデータの同期を取るための時間や負荷が掛かるため、更新処理のパフォーマンス低下を招きます。

 これを回避するために、パフォーマンス向上に役立っていない索引は極力削除することが重要です。例えば、夜間バッチなどで大量更新処理を行う場合は、表に作成されている索引を削除してから実施すると、処理時間を大きく短縮できる可能性があります。

まとめ:「全表スキャン」と「索引スキャン」のそれぞれの特徴を捉え、SQLの処理内容に応じて適切なアクセス方法を選択する

 今回は、基本的なデータアクセス方法について解説しました。

 例えば「大量データの集計作業では、全表スキャン」「表の一部のデータにアクセスする社員検索では、索引スキャン」といったように、「全表スキャン」と「索引スキャン」のそれぞれの特徴を捉え、SQLの処理内容に応じて適切なアクセス方法を選択できるようにすること、また索引を効果的に使うことが、SQLチューニング作業の第一歩となります。

更新履歴

【2017/1/6】2017年時点の状況に合わせて、内容を追記更新しました

【2009/01/19】初版公開


筆者紹介

坂田素道

株式会社アシスト サービス事業部 教育部所属。Oracle研修の講師として、リカバリーやチューニングなどの研修を幅広く担当。イメージを想像しやすいよう、例え話や事例を多く用いた説明を心掛けている。週末は趣味の草野球を楽しんでいる

初版:小野明洋

株式会社アシスト 支援統括部 教育部所属(当時)


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る