|
||||||||||||||
| 1 2 3 次のページ | ||||||||||||||
| key_buffer_sizeとは | ||||||||||||||
|
key_buffer_sizeとは、「インデックスブロック用に使用されるバッファメモリの最大値」をあらわします。MySQLのリファレンスマニュアルでは、しばしば「インデックス=キー」として表現されています。つまり「作成したインデックスをメモリ上に維持しておくために、物理メモリ上に確保するバッファの最大値」ということになります。 key_buffer_sizeはデフォルト状態では以下の通り約8Mbytesに設定されています。 なおshow variablesで表示される単位はbytesです。 |
||||||||||||||
| 現在使用されているブロック数の確認 | ||||||||||||||
|
MySQLでは、キーをブロックという単位で扱います。1ブロックのサイズ(key_cache_block_size)はデフォルトで1024bytesです。現在のキーバッファの使用量は、以下のようにして確認できます。 各項目は以下の通りの意味を持ちます。
表1:各項目の意味 つまりこの場合、キーバッファは7248ブロックが空いていて(Key_blocks_unused)、これまでに1ブロックも使われていない(Key_blocks_used)ことがわかります。今のところインデックスを1つも作成していないのですから、この結果は当然です。 |
||||||||||||||
| インデックスを作成する | ||||||||||||||
|
key_buffer_sizeを検討するには、まずはじめにインデックスを作成しなければはじまりません。そのためにはcreate indexコマンドで以下のようにpassカラムのインデックスを作成します。その後、show indexコマンドで作成したインデックスを確認することができます。 「Column_name」がpassとなっているものが作成したインデックスで、正常に作成されたことがわかります。しかしそれ以外にusernameというインデックスもあります。これは、http_authテーブル作成時にusernameを主キーに指定したため、暗黙的に生成されたインデックスです。また最後にKey_block_usedを確認すると、2928ブロックが一時的に使用されたということがわかります。 同様にして、uidやgidについてもindexを作成しておいてください。 |
||||||||||||||
|
1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||



