Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » Mysql December 04, 2007

Mysql 高速化 チューニング ID:1196732641


●selectの高速化
1.テーブルを分ける。


2.テーブルにインデックスを設定する。
create index インデックス名 on テーブル名 (フィールド名);

文字列の場合はインデックスに設定する文字数を指定可能。
create index インデックス名 on テーブル名(フィールド名(要素数));


3.select count(*) よりも select(フィール名) を使う。
カウント処理もインデックスを設定してあるフィールド名を指定する事で高速化可能。


さらに、項目数が多い場合に、取得項目だけ取得するようなSQLを別出しにして、
SQLを発行するとかなりレスポンスがアップした。


4.クエリキャッシュを使う。


クエリキャッシュが使える設定になっているのか確認するには、以下のようにする。
query_cache_sizeが0だと無効の状態。

mysql> show variables like 'query_cache_%e';

クエリキャッシュの利用状況を確認するには、以下のようにする。

mysql> show status like 'Qcache%';

Qcache_free_blocks:空きメモリブロック数

Qcache_free_memory:空きメモリ。

Qcache_hits:キャッシュにヒットしたクエリ数。

Qcache_inserts:キャッシュに保存したクエリ数。

Qcache_lowmem_prunes:メモリ不足で削除されたクエリ数。

Qcache_not_cached:キャッシュされなかったクエリ数。

Qcache_queries_in_cache:キャッシュに存在するクエリ数。

Qcache_total_blocks:合計ブロック数


●insertの高速化

1.まとめてINSERT


insert into word (Word_Id,Word_Data) values('1','abc');
insert into word (Word_Id,Word_Data) values('2','def');
insert into word (Word_Id,Word_Data) values('3','ghi');


ではなく、


insert into word (Word_Id,Word_Data) values('1','abc'),('2','def'),('3','ghi');



2.オートコミットをOFFにする。


http://www.cdl.im.dendai.ac.jp/~arai/study/mysql.html
1 / 2| 次のページ »
— posted by midilin @ 10:44AM
[コメントが多かった順の記事]
人の心理の裏をかくホームページ集客術:リピータになってもらうためには(233)
ホームページ心理学第2弾「メールの書きだしとホームページ運営・集客の関係」(76)
娘が生まれた(69)
ゲームと言えば、何を思い出す? (50)
Microsoftからアクセス (30)
「目標の立て方」と「努力」と「実行力」(26)