1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DBにおけるインデックスとは 〜DB検索の処理を速くするために〜

Last updated at Posted at 2024-03-06

はじめに

作成したWEBサイトの負荷テストで、データを一覧表示しているページにアクセスしたところ、表示に時間がかかりすぎタイムアウトエラーが発生したため、DBにインデックスを設定する対応を行なった。

インデックスとは

インデックス(index)とは、データの検索や並び替え、取得を高速化するために利用されるデータベース管理の仕組みの1つ。

例えば本についてのデータ(タイトル、著者、出版社、発売日)が格納されている10億行のテーブルから、「著者」列が「村上春樹」であるデータを取得したい場合、下記のようなsqlを書くが、そこで「著者」列にインデックスを設定しておくことで、素早くDBが条件に合致するデータを取ってきてくれる。

'SELECT * FROM テーブル名 where 著者 = 村上春樹'

設定方法

インデックスの設定方法は簡単で、基本的によくwhere句で使用されている列に対して、下記のように設定すればよい。

'CREATE INDEX インデックス名 ON テーブル名 (著者)'

まとめ

インデックスは本棚における本の目次のようなもので、データベース内の情報を整理し、素早く目的のデータを見つけるのに役立つもの。

[参考サイト]
https://products.sint.co.jp/siob/blog/index
https://analytics-okinawa.jp/database/2005/
https://it-biz.online/it-skills/index/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?