k2017回答ポイント 70ptウォッチ 1

[PHP+MySQL(MyISAM)] DB更新の速度で悩んでいます。


begin;
update A set〜
update A set〜
update A set〜
update A set〜
commit;

このupdateとupdateの間に他のユーザーのselectが割り込まれてしまいます。

begin;
update A set〜
select B〜
select C〜
select D〜
update A set〜
select D〜
select B〜
select C〜
update A set〜
select B〜
select C〜
select C〜
select B〜
select C〜
update A set〜
commit;

updateがすべて完了するまでにタイムアウトしてしまいます。原因はselectの割り込みなのかどうかも不明です。updateの前後でテーブルロック(lock tables)しても(Aのselectがロックできるだけで)無駄のようです。

なにか解決策があれば教えてください。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2006-06-16 13:56:18
終了日時
2006-06-23 14:00:03
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

MyISAM33MySQL2612PHP7798タイムアウト178BEGIN96dB1997割り込み25

人気の質問

メニュー

PC版