[前][次][番号順一覧][スレッド一覧]

mysql:10685

From: SUGAWARA Hajime <SUGAWARA Hajime <sugawara@xxxxxxxxxx>>
Date: Thu, 16 Dec 2004 15:12:51 +0900
Subject: [mysql 10685] Re: インデックスの多いテーブルの分割

 菅原です。

OHTSUKA Ko-hei <techml@xxxxxxxxxx>さん:
> インデックスの非常に多いテーブルを作っています。
> あるイベントの履歴テーブルなのですが、イベントの発生毎に
> 関連のあるいくつかの値を全て計算して、同じ列に挿入して
> います。
> それぞれで検索される可能性があり全てにインデックスをつけ
> ているので、1テーブルのインデックスが10近くになっている
> のですが、1テーブルあたりのインデックスは少ない方がよい
> という話なので、分割すべきかどうかで迷っております。
(以下略)

 インデックスが多い場合の問題はINSERT処理が重くなることと、インデックス
のに比例してディスク容量を使うことだと思います。
 インデックス数増加による処理コストの計算式はこちらにあります。
http://dev.mysql.com/doc/mysql/ja/Insert_speed.html

 テーブルを分割するのはレコードが大きくなるだけでメリットはなさそうです。
http://dev.mysql.com/doc/mysql/ja/Tips.html


 それはそれとして。
 どのようなクエリーを使うかにもよりますが、単純に全カラムにインデックス
を張っただけでは使われないインデックスが出てくる可能性もあった気がします。

#1回のクエリーで使われるのは1つのインデックスだけなので。

 そのあたりは大丈夫なんでしょうか。

-- 
菅原はじめ@うぃーくぽいんと
mailto:sugawara@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

     10653 2004-12-11 23:46 [OHTSUKA Ko-hei <tech] インデックスの多いテーブルの分割        
->   10685 2004-12-16 15:12 ┗[SUGAWARA Hajime <sug]