• ベストアンサー

SELECT実行中にINSERTしたい

テーブルTに対し、データ抽出に数分かかるようなSELECT文を実行しているとして、 そのSELECT文の実行中にInsertしたらどのような挙動になるでしょうか。 (INSERTした瞬間にエラーが発生する?) また、SELECT文の実行中にInsertしたら、 「SELECT文が実行終了するまで待って、そのあとにINSERTする」 という動きにしたい場合、どのように設定(or SQLを書けば?)すればよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>私が使ってるのはmyisam myisamの場合、データの堅牢性を犠牲にして高スピードを実現しているので 難しいかもしれませんね SELECTとINSERTのタイミングがコンマ数秒レベルで絶妙にネックになるよう 仕組みを考えているならmyisamは控えた方がよいでしょう。 そうでないならほぼ問題にはならないと思います

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ロックとかトランザクションの世界ですね このへんが参考になるかも

参考URL:
http://dev.mysql.com/doc/refman/5.1-olh/ja/innodb-locks-set.html
stolichnaya
質問者

お礼

ありがとうございます! とりあえず読んでみます。 これってinnodbの資料みたいですね。私が使ってるのはmyisamなので、ちょっと探してみます。

関連するQ&A