タグ

indexとあとで読むに関するsh2nm0k2のブックマーク (4)

  • とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub

    技術コミュニケーション室 OSSグループの髙﨑です。 記事は、とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編の続きです。 前回の記事でお話しした内容がPullRequestを作ったときの過程だったわけですが、 そのような結果に至った経緯、Index Only Scanを使わなかったPostgreSQL特有の事情について、 PostgreSQLのアーキテクチャなども交えもう少し詳しくお話させていただきます。 要するに 実行計画のコストとはレコードやindexの読み込み、フィルタ処理などからその実行にどの程度の時間が必要となるかの推定値 indexを張る際にはそのindexがどのように辿られるかを意識する必要がある 範囲検索される可能性があるカラムはindexの先頭にはあまり適さない PostgreSQLにおけるIndex Only Scanは新しい/更新頻度の高いデー

    とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub
  • SQLのインデックスとそのチューニングについてのオンラインブック

    開発者向けのSQLインデックス解説サイト、管理についての間違いない知識を提供します。 インデックスは開発時には忘れられがちである一方で、非常に効果的なSQLのチューニング方法です。Use The Index, Lukeでは、HibernateなどのORMツールの解説にとどまらず、SQLのインデックスについて基礎から説明します。 Use The Index, LukeはSQLパフォーマンス詳解のWeb上の無料版です。サイトを気に入って頂けたら、ぜひ書籍も購入してみて下さい。また、このサイトの運営をサポートする様々なグッズも販売しています。 MySQLOracleSQL ServerなどにおけるSQLのインデックスUse The Index, Lukeでは、ベンダにとらわれないインデックスの説明を心がけています。製品特有の事柄については、以下のような表示をしています。 DB2Use The

    SQLのインデックスとそのチューニングについてのオンラインブック
  • String.Indexを使った文字列処理 - Qiita

    Stringの中のそれぞれの文字(Character型)にアクセスするにはString.Index型の値を使用する。 StringはCharacterの双方向リストで構成されており、ランダムアクセスはに時間がかかる。 Indexを取得する 文字列からそのIndexを取得する場合は、まずstartIndexもしくはendIndexプロパティで最初か最後のIndexを取得する。 n番目のIndexを文字列から直接取得することはできない let str = "ABCDEF" let startIndex = str.startIndex // 文字列の最初のIndexを取得 let endIndex = str.endIndex // 文字列中の最後のIndexを取得 Indexを進める、戻る 文字列からn番目のIndexを直接取得することはできず、startIndex/endIndexから順々

    String.Indexを使った文字列処理 - Qiita
  • 大なり、小なり、BETWEENといったSQL範囲条件に対するインデックス

    INDEX RANGE SCANにおいて、パフォーマンスへの影響が最も大きいのは、リーフノードの走査です。インデックスをスキャンする範囲をできる限り小さく保つのは、インデックスを作る上での黄金則です。インデックスのスキャンがどこから始まってどこで終わるのか、自分に問いかけて確認しましょう。 SQL文内で、始点と終点の条件が明示的に書かれているなら、答えは簡単です。 SELECT first_name, last_name, date_of_birth FROM employees WHERE date_of_birth >= TO_DATE(?, 'YYYY-MM-DD') AND date_of_birth <= TO_DATE(?, 'YYYY-MM-DD')指定された範囲内で、DATE_OF_BIRTHのインデックスがスキャンされます。スキャンは、最初の日付から始まり、2番目の日付で

    大なり、小なり、BETWEENといったSQL範囲条件に対するインデックス
  • 1