タグ

qiitaとindexに関するxai1981のブックマーク (4)

  • SQLチューニング: ソートを発生させないインデックス設計 - Qiita

    SQLのクエリを実行するとき、ボトルネックになりがちな演算の1つにソートがあります。 全レコードを並び替えるため、レコード数が多ければ多いほどそのコストも増大していきます。 ソートが発生するケースはいろいろありますが、代表的なのは「Order BY」句で明示的にデータの並び替えを指定する場合ですね。 -- int型のカラムが5つのテーブル 100万レコードINSERT済 -- SQLServerで実行 SELECT column4 ,column5 FROM SomeTable WHERE column2 = 2 ORDER BY column3 -- 並び替え

    SQLチューニング: ソートを発生させないインデックス設計 - Qiita
  • SQLServer: 指定したテーブルのインデックス使用状況を取得する - Qiita

    インデックスを張ったのは良いけど、当にちゃんと意図した使われ方をしているのか知りたいときありますよね。 下記のSQLで、特定のテーブルのインデックス利用状況を取得することができます。 ・seekで使われるつもりで作ったインデックスでscanが多用されていないか? ・scanで使われるつもりで作ったインデックスでseekが多用されていないか?(こっちは稀ですね) など確認できます。 ※実行にはVIEW SERVER STATE 権限が必要です。 SELECT o.name AS table_name , i.name AS index_name , s.user_seeks -- Index Seek 数 , s.user_scans -- Index Scan 数 , s.user_updates -- UPDATE 数 , s.user_lookups -- lookup 数 , la

    SQLServer: 指定したテーブルのインデックス使用状況を取得する - Qiita
  • SQLServerのインデックスについてざっくりとまとめてみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? SQLServerについて SQLServerのインデックスについて学ばせていただく機会があり、ものすごく勉強になったのでまとめます。 はじめに 他のDBと同様にSQLServerにもインデックスの概念は存在します。 インデックスとは、DBデータの検索を高速に行うための索引のようなものです。 これがあることによって、データベース内すべてを検索せずに目的のデータを特定することができる便利なしくみです。 SQL Serverにおいてインデックスの種類は以下のようになっています。 ヒープ表(インデックスなしのテーブル) クラスタ化インデックス

    SQLServerのインデックスについてざっくりとまとめてみた - Qiita
  • MySQL初級者を脱するために勉強してること -INDEX編- - Qiita

    欲しいデータを取得するくらいにはSQL書けるし、システム要件を満たすくらいにはテーブル設計は出来る、そんな僕が中級者を脱するために勉強している内容を備忘録的に書き綴ります。 予約語は大文字 その他は小文字で記述しています。 あー、インデックスね、はいはい。作ると参照が速くなるやつでしょ? そのくらいの知識でしたが、INDEXを適切に運用する上で原理など理解していないと、意味の無いINDEXを作ってしまう事があるので勉強しました。 INDEXとは 今回は多くのRDBMSでサポートされているB-TreeINDEXについて解説します。 B-Treeは以下のような形式でデータを保持しています。 ヘッダブロックでは大まかな値の範囲を保持しており、ブランチブロックではさらに細かい範囲を保持 リーフブロックでは実際の値と行への物理的な位置を保持しています。 INDEXが作成されている事で並び替えが速くな

    MySQL初級者を脱するために勉強してること -INDEX編- - Qiita
  • 1