最近、下記のことがよくあるので、Indexについて語ろうと思います。
・本番環境でリリースしたら、クエリが滞留。
・リリースもしていないのに、突然、クエリが滞留しだす。
なんで、上記のことが起きてしまうのか?
それは。。。
データ量の差を考慮して、対策されていないからです。
開発環境と本番環境では、データ量が異なります。
当たり前ですが、本番環境の方がデータ量 多いですよね。
Indexは、基本的に、データ抽出を早くしてくれるもの。
データ量が多い場合、適切なIndexがあった方が良いのです。
※クエリの抽出条件、データ分布にもよりますが。。。
開発環境の時点からデータが増えるということを考慮し、
下記を使用して、DBに負荷をかけないことを心掛けてみてください。
・スロークエリ
・log_queries_not_using_indexes
・EXPLAIN
続きは、また今度。
投稿者プロフィール
-
プログラマー、DBエンジニアを経て、2013年9月よりスカイアーチネットワークスに在籍しております。
現在、サーバ・ネットワークいろいろと奮闘中です。
最新の投稿
- MySQL2017年3月3日MySQLのtable_open_cacheについて
- MySQL2016年6月27日MySQL 設定ファイルについて
- MySQL2016年3月1日MySQL time_zoneについて
- MySQL2015年12月11日MySQL Indexについて その2