mysql:3462
From: Kengo Nakajima <Kengo Nakajima <ringo@xxxxxxxxxx>>
Date: Wed, 28 Mar 2001 14:54:08 +0900
Subject: [mysql 03462] Re: ふと思ったので。。(フィールドの長さについて)
中嶋と申します。 On Wed, 28 Mar 2001 14:24:59 +0900 endo_t@xxxxxxxxxx(遠藤 俊裕) wrote: > ども、えんどう@にふてぃ です。 こんにちは > > create tabel ( hogehogehoge char (10)); > > な〜んてするより、 > > create table ( hoge3 char (10)); > > の方が、色々と速くなったりするんでしょうか? なります。 mysql クライアントを起動するときに、 strace を使って 様子をみると、わかります。mysql クライアントは、テーブル名をIDに 変換したりせずに、そのまま送信してます。 > 内部で memcmp してたり、strcmp してたり、LAN 上をデータが流れる > 大きさがちょっと小さかったり。。。 その通りです。 テーブル名の長さに比例する処理はとても多いです。 MySQLサーバのアクセス制限(パーミッション)テーブルを調べる分も あったりするからです。おそらく全部の処理で、テーブル名をそのまま 引数に渡して処理してます。 > 総合的に見て早くなる? > 関係ないか。。。。 LANを通して使用する場合は、ネットワークの速度が直接影響しますから、 クエリーが小さいときとか回線が遅いときは、意外に影響でかいです。 ベンチマークの結果は、こちら: http://www.vce-lab.net/mysql-storage/max.html でも、クエリーが十分遅いときは、ほとんどわからないですけどね。 普通のWebアプリを作ってる分には、Apacheが遅すぎてこの議論の 意味はほとんどないでしょうね。ベンチマークとかしていると実感しますが。 ではでは ------------------------- なかじま けんご
3459 2001-03-28 14:24 [<endo_t@xxxxxxxxxx> ] ふと思ったので。。(フィールドの長さについて) -> 3462 2001-03-28 14:54 ┗[Kengo Nakajima <ring] 3463 2001-03-28 14:56 ┗[<endo_t@xxxxxxxxxx> ] 3465 2001-03-28 15:17 ┗[Kengo Nakajima <ring]