[前][次][番号順一覧][スレッド一覧]

mysql:6683

From: SUGAWARA Hajime <SUGAWARA Hajime <sugawara@xxxxxxxxxx>>
Date: Tue, 10 Dec 2002 13:15:58 +0900
Subject: [mysql 06683] Re: 排他処理

 菅原です。

"E-Mail" <tyunn@xxxxxxxxxx>さんは書きました:
> >  件数が少ないならREADロックすればいいだけでは?
> > #場合によってはロックする必要すらないと思いますが :)
> これらはどういったケースですか?アクセス数やデータ件数が少なくても
> SELECT、INSERT、UPDATEが同時に起こるケースはまったくないという
> ことは誰にも言えないと思いますが?(誰にも公開せず一人で試験的に
> など利用することが確実なら別でしょうが)

 うーん。E-mailさんがどういうケースでの利用を想定しているのか分からない
ので(書かれてないので)なんとも言えないですけど。
 例えば、INSERTやUPDATEがcronでのみ実行される場合、同時に起こることはな
いでしょう。
 あるいは、INSERTが同時に行なわれても「先のINSERTが常に優先する」仕様な
ら、特に問題はありませんし。

#どういうふうに設計するか、運用するかの問題ですけどね

> > (5.3.1に書かれている例は、多くのINSERTと多くのSELECTが発生したとき
> > に待ち時間を小さくするためのものですし)
> 待ち時間のことより、どのように処理が行われるかという説明と解釈しました。
> 5.3.1はそういった説明がある部分と思い読んでいます。

 いいえ、違います。
 別に別テーブルを用意しなくてもLOCK TABLESは使えますから。
 例えば更新が頻繁ではなく、1件程度なら

mysql> LOCK TABLES real_table WRITE;
mysql> insert into real_table VALUES ( foo, var, ...);
mysql> UNLOCK TABLES;

で問題ないでしょう。
 5.3.1の文章に

> 同じテーブルで多くの INSERT と多くの SELECT を行う場合、これを解決する
> には、他のテーブルに行を挿入して、たまに、その一時テーブルから全てのレ
> コードをもう一方のテーブルに update します。

とありますが、「これを解決する」の「これ」は

> これは、同じテーブルで多くの更新をする場合、SELECT 構文は update がな
> くなるまで待たされることを意味します。

に(さらに言えば「updateがなくなるまで待たされる」に)かかっていますから。

------
菅原はじめ@ホビー・データ
sugawara@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

      6678 2002-12-10 02:33 ["E-Mail" <tyunn@xxxx] 排他処理                                
      6679 2002-12-10 03:11 ┣[Sumito_Oda <oda@xxxx]                                       
      6680 2002-12-10 10:52 ┃┗["E-Mail" <tyunn@xxxx]                                     
      6681 2002-12-10 11:35 ┃ ┗[SUGAWARA Hajime <sug]                                   
      6682 2002-12-10 12:01 ┃  ┗["E-Mail" <tyunn@xxxx]                                 
->    6683 2002-12-10 13:15 ┃   ┗[SUGAWARA Hajime <sug]                               
      6692 2002-12-11 09:06 ┃    ┗["E-Mail" <tyunn@xxxx]                             
      6694 2002-12-11 12:03 ┃     ┗[SUGAWARA Hajime <sug]                           
      6701 2002-12-12 07:10 ┗[とみたまさひろ <tomm]                                       
      6715 2002-12-14 11:59  ┗["E-Mail" <tyunn@xxxx] Re: : 排他処理