タグ

indexに関するyuyaitohのブックマーク (2)

  • 知って得するInnoDBセカンダリインデックス活用術!

    InnoDBはクラスタインデックスという構造になっている。今日はクラスタインデックスがどういうことかということを、皆さんに理解して頂きたい。もっとも理解して頂きたいポイントは「セカンダリインデックスのリーフノードには主キーの値が含まれている」ということだ。 主キーの構造InnoDBの主キーは次の図のように「データが主キーのリーフノードに含まれる」という構造になっている。このような構造をクラスタインデックスという。 このような構造になっていることには利点と欠点があるが、大きな利点は主キーの値で検索をすると非常に高速だということだ。主キーのリーフノードにたどり着いたときには、既にデータのフェッチも完了している。データとインデックスが別々に格納されているタイプのストレージエンジンでは、インデックスからデータの位置を読み取って、その後データファイルからデータをフェッチする。このように二段階の操作が

    知って得するInnoDBセカンダリインデックス活用術!
  • Railsで規約に沿わない古いデータを扱う - Qiita

    背景 railsではrails g scaffoldなどでModelを作成すれば、 自動的にidが付与されます。 しかもprimary_keyでauto_incrementでかつindexも張られるので、 普段はidを気にする必要はありません。 railsを使い、自分でデータ構造を決める場合はrailsの流儀に則った方が楽で、問題も起こりません。 しかし、古いデータを活用した場合、流儀にそぐわない事もあり得ます。 今回は規約に沿わない場合の対応について大きく分けて2つの場合について説明します。 なお環境は以下の物で検証しています。 * ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] * Rails 4.0.0 * composite_primary_keys (6.0.0) 主キーがidではない 主キーがid

    Railsで規約に沿わない古いデータを扱う - Qiita
  • 1