人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

mysqlで下記情報のうまくまとまったサイトを教えてください。
1)同時に走れる更新系命令(insert,updateなど)の数
2)同時に走れる参照系命令(selectなど)の数
3) 1)2)に関するlockなどの説明など

環境は
MySQL4.1
MyISAM
です

●質問者: kunitz
●カテゴリ:ウェブ制作
✍キーワード:MyISAM MySQL SELECT サイト 更新
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● b-wind
●27ポイント

1,2,に関してはサーバーのスペックと設定パラメーターしだいと思います。

3は公式マニュアルが詳しいです。

http://dev.mysql.com/doc/refman/4.1/ja/locking-issues.html


2 ● いのくに
●27ポイント

http://www.buena-idea.net/~hironobu/mysql/m-2-10.html


負荷の少ない QUERY でしたら瞬間的に結果が帰ってきますので、複数の QUERY を同時に投げて同時に応答されたように感じてしまうかもしれませんが、MyISAM形式のテーブルで lock がかかるとテーブル全体が lock されてしまい、lockが解除されるまでは次の処理が待たされることになりますので、「同時に走れる」という表現は厳密に言うと適当ではないと思います。特に更新系の場合。


結局、テーブルの構造とか、データの量とか、index を使うOR使わないとか、どのような QUERY を投げるのかとか、サーバの能力とかによって、処理に必要な時間は変わってくると思うので、一概に「○秒以内に処理できる QUERY は大体 ○件」とは言えないと思うのです。


ですので、実環境に近い状態で様々なQUERYを投げてみて実験をされてみることをお勧めします。


あと、比較的短時間に Lock を伴う大量の更新系の処理が予想される場合は、InnoDB型のテーブルを使った方がいいかもしれません。


3 ● yoshifumi1975
●26ポイント

1)同時に走れる更新系命令(insert,updateなど)の数

MyISAMは、更新系の際に、テーブルレベルでロックしますので、書き込みは一度に1つのスレッドからしかできません。2つ目以降は、1つ目が書き終わるまでまたされます。

InnoDBなどは、行レベルロックになりますので、

別の行であれば同時接続クライアントの数だけ書き込めます。


2)同時に走れる参照系命令(selectなど)の数

同時にいくつでも並列に実行できます。


3) 1)2)に関するlockなどの説明など

http://www.buena-idea.net/~hironobu/mysql/m-2-10.html

ここなんかいかがでしょう。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ