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

mysql:14007

From: Hiroki Tamakoshi <Hiroki Tamakoshi <hiroki.tamakoshi@xxxxxxxxxx>>
Date: Fri, 25 May 2007 11:08:14 +0900
Subject: [mysql 14007] Re: 高速なデータの書き込み方法

玉越です。

On Tue, 22 May 2007 14:54:17 +0900
Hiroki Tamakoshi <hiroki.tamakoshi@xxxxxxxxxx> wrote:

> > ・ON DUPLICATE KEYがO(n^2)で時間がかかる点
> > ・ストレージがwrite throughになっていた点&RAID 5な点
> > 
> > write backキャッシュで解決するとよいのですが、
> > 他にも原因があるのかもしれないですね。
> 
> write backキャッシュのおかげで少しだけ速くなったようです。
> あと考えられるのは、indexの再構築に時間が掛かっているのではないかと考え
> ています。

これまでと比較して全体の処理速度は1.5倍程度速くなったようです。
しかし、その程度でした。

やはり書き込みに時間が掛かっているためなので、そこをなんとかしたいですね。

indexはON DUPLICATE KEYで一気に書き込めるようにマルチカラムのキーを作っ
ているためです。そのカラム数が少なくないので遅いのかなと思っています。

ところで、テーブルサイズが大きくなるとやはり書き込みとインデックスの更新
に時間がかかり、そのため遅くなるものでしょうか?

例えばdatetimeを入れているカラムがあり、毎日増えていきます。
例えば1月分と2月分を別のテーブルにすることで、更新や参照が高速になるとい
うことはあるのでしょうか?
特にインデックスはB-Treeなので、木の段数が少なくなって速度もファイルサイ
ズも小さくなるといった効果が望めるでしょうか?


ちょっと気になっているのは、OracleにあるPartitioningという機能です。
これは、例えばテーブルを1月分と2月分に勝手に分割してくれる機能です。分割
してくれると言っても、クライアントプログラム側から見ると一つのテーブルの
まま見えています。そうすると、1月分のデータが欲しいときには1月分のテーブ
ルしか見ないので速くなります(はずです)。

データモデルが分かっているときに使うインデックスのようなものですね。

また、PostgreSQLはファイルサイズが1GBを超えると勝手に分割するようで、も
しかしたら不要部分にはアクセスしないことで、処理速度が向上する可能性があ
るのではと思っています。


知見などお持ちの方、ご教示いただけますと幸いです。


--
株式会社ビービット 玉越 大輝
ユーザビリティ コンサルタント
beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx
--------------------------------------------------------
〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F
TEL: 03-3509-7602 / FAX: 03-3509-7605
URL: http://www.bebit.co.jp/
--------------------------------------------------------
◆◆◆お知らせ◆◆◆
・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売
  http://www.bebit.co.jp/news/2006/book.html
  http://www.amazon.co.jp/gp/product/4797333529/


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

     13957 2007-05-17 21:01 [Hiroki Tamakoshi <hi] 高速なデータの書き込み方法              
     13958 2007-05-17 23:20 ┗["Yoshio Kawano" <kaw]                                       
     13959 2007-05-18 13:02  ┗[Hiroki Tamakoshi <hi]                                     
     13960 2007-05-18 13:33   ┣[HIRATSUKA Sadao <hir]                                   
     13971 2007-05-21 10:26   ┃┗[Hiroki Tamakoshi <hi]                                 
     13973 2007-05-22 11:46   ┃ ┗[HIRATSUKA Sadao <hir]                               
     13974 2007-05-22 14:54   ┃  ┗[Hiroki Tamakoshi <hi]                             
->   14007 2007-05-25 11:08   ┃   ┗[Hiroki Tamakoshi <hi]                           
     14008 2007-05-25 11:15   ┃    ┣[<ml@xxxxxxxxxx>     ]                         
     14009 2007-05-25 11:33   ┃    ┃┗[Hiroki Tamakoshi <hi]                       
     14010 2007-05-25 14:10   ┃    ┃ ┗["橋本健太" <kem@xxxx]                     
     14022 2007-05-28 00:51   ┃    ┗[とみたまさひろ <tomm]                         
     14023 2007-05-28 12:17   ┃     ┗[Hiroki Tamakoshi <hi]                       
     14024 2007-05-28 14:48   ┃      ┗["KIMURA, Meiji" <kim]                     
     13961 2007-05-19 00:13   ┗[とみたまさひろ <tomm]                                   
     13962 2007-05-19 11:05    ┗[坂井 英夫 <hide_s@xx] データベースをRAID5に置く       
     13963 2007-05-19 12:13     ┣[とみたまさひろ <tomm]                               
     13964 2007-05-19 12:41     ┃┗[坂井 英夫 <hide_s@xx]                             
     13965 2007-05-19 13:15     ┣[kurokawa <ml@xxxxxxx]                               
     13966 2007-05-19 13:57     ┃┗[ひでさん <hide_s@xxx]                             
     13967 2007-05-19 14:14     ┃ ┗[N.Toge <toge@xxxxxxx]                           
     13968 2007-05-19 15:10     ┃  ┗[ひでさん <hide_s@xxx]                         
     13969 2007-05-20 06:58     ┗[Kenji Irie <kenji@xx]                               
     13970 2007-05-20 09:31      ┗[ひでさん <hide_s@xxx]