
No.2ベストアンサー
- 回答日時:
やはり先の回答で書いておくべきだったかもしれませんが、
質問にある例では各ユーザーが別々のレコードに書き込みをしていますよね。
この場合だとお互いの書き込みが他のユーザーの書き込みに影響を及ぼさないのでロックを取る必要が無いと思います。あと、ちょっと気になったので調べた感じだと、UPDATEで更新する場合もロックは不要みたいですね。
> 何も指定しないで下記の方法でテーブルをつくりました
> この場合は、MyISAMになるんですか?
そうです。
InnoDBを使うにはテーブル作成時に明示する必要があります。
http://dev.mysql.com/doc/refman/4.1/ja/using-inn …
> その場合、自動でテーブルロックしてくれるってことでしょうか?
してくれません。
自分で明示的にテーブルをロック / アンロックしてください。
http://dev.mysql.com/doc/refman/4.1/ja/lock-tabl …
あと、MyISAMはトランザクションセーフテーブルではないので、いわゆるトランザクションには使えないと思います。トランザクションの場合はCOMMITをするまで値が反映されてはいけませんので。
http://dev.mysql.com/doc/refman/4.1/ja/commit.html
http://dev.mysql.com/doc/refman/4.1/ja/table-typ …
> みなさんはphpやperlからmysqlを使う場合は、どのテーブルを使っていますか?InnoDBを使うのが一般的なのでしょうか?
MyISAMが一般的だと思いますが、適材適所ではないでしょうか。
例えばwordpress (http://ja.wordpress.org/) ではデフォルトのMyISAMを使っているようです。
自分が見た範囲では特にLOCK TABLESも登場しないように思います。
UPDATEは時々出てきますが、UPDATEによる更新はアトミックな処理になるようなので行の更新をする程度ならロックを取る必要はないのかもしれません。
http://dev.mysql.com/doc/refman/5.1/ja/ansi-diff …
かつてMySQLを選ぶ理由はトランザクションがない代わりに速いということだったので、色々と工夫をしてMyISAMを使うというのが普通なのかもしれません。しかしながら、MyISAMにはトランザクションの機能がないので、InnoDBを普通は選ぶべきという意見もあります。
Top 10 MySQL Mistakes Made By PHP Developers
http://www.sitepoint.com/mysql-mistakes-php-deve …
| 1. Using MyISAM rather than InnoDB
ただ、この記事へのコメントでDavidさん他多数がMyISAMよりInnoDBは非常に遅くて使いものにならないし、DBの設計を適切にすればMyISAMでも問題なく使えると主張しているので、InnoDBを使えば万事解決というわけでもないようです。
お答えいただきありがとうございます。
勉強になりました
同じ行への書き込みがないようにうまくやってみることにしました
MyISAMがmysqlの持ち味みたいなので
MyISAMでとりあえずやってみます
No.1
- 回答日時:
普通はInnoDBだと思います。
http://dev.mysql.com/doc/refman/5.1-olh/ja/innod …
質問しているのは行ロックをMySQLでデフォルトのMyISAMでとれるかだと思うのですが、MyISAMではテーブル単位のロックしかありません。
http://dev.mysql.com/doc/refman/5.1/ja/internal- …
何も指定しないで下記の方法でテーブルをつくりました
この場合は、MyISAMになるんですか?
その場合、自動でテーブルロックしてくれるってことでしょうか?
CREATE TABLE test (
id int(6),
name VARCHAR(255)
)
みなさんはphpやperlからmysqlを使う場合は、どのテーブルを使っていますか?InnoDBを使うのが一般的なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- その他(SNS・コミュニケーションサービス) 書き込んだ場合、同サイトの同ページに出てこない? 1 2022/05/24 02:44
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- 教えて!goo 下品な質問や回答や、品性を欠いた質問や回答を書き込んでいるユーザーさんをみつけたら、ブロックをしてい 12 2023/03/26 07:56
- 財務・会計・経理 銀行振込み明細書が領収書の代わりになる?! 9 2023/07/10 10:00
- 車検・修理・メンテナンス 自動車車検は、自分で、ユーザー車検で、車検場に持ち込みすると、法定費用だけで、簡単に受かるよ。 7 2023/02/05 22:56
- スピーカー・コンポ・ステレオ ハイレゾとレコードの音質差について 宜しくお願いします。 レコードにはCDでは録音できない倍音成分が 21 2022/06/28 10:04
- iPod・ウォークマン・音楽プレーヤー レコードの楽曲をPCに取り込みたい レコードを何枚か持っているのですが、再生機器がありません。スマー 4 2022/10/03 09:51
- OCNモバイルONE J-COMモバイル 1 2023/08/20 16:34
- 教育・文化 5chの平均年齢が40~50代 3 2023/04/14 14:00
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServer Insertが遅い
-
DB2の更新ロックについて
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
インデックスの再構築の意味っ...
-
Access VBA Me.Requery レコー...
-
大学でSQLの授業があるのですが...
-
ACCESSで複数テーブルを結合し...
-
ビューにインデックスを設定で...
-
SQLServerでOracleシーケンスの...
-
Accessの重複クエリで最小以外...
-
#ワークテーブルにinsert時 変...
-
システムテーブルについての疑問
-
2つのテーブルからデータを抽出
-
ACCESSの初心者質問(テーブル設計)
-
【SQLServer】IS NULLのパフォ...
-
実行時エラー3086 削除クエリ...
-
重複するキーから一番古い年月...
-
リレーションシップ 全データを...
-
2つのテーブルから条件に一致...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SELECT時の行ロックの必要性に...
-
SQLServer Insertが遅い
-
accessのロック
-
Oracleの排他制御について教え...
-
AccessShareLock はどの程度気...
-
SELECT文でタイムアウト...
-
UPDATE文で発生するデッドロッ...
-
INSERTにおいてロック処理は必要か
-
DB2でSelectした時(rollback,c...
-
max+1で初番する場合 for updat...
-
排他ロックしたレコードが、別...
-
更新ロックとデッドロック
-
パススルークエリでのロックに...
-
ExcelからAccess2013DBを更新す...
-
同一トランザクションの中でテ...
-
デッドロックが発生します。
-
トランザクション中にSELECTし...
-
同時書き込み
-
SQLServerの明示的なロックの仕...
おすすめ情報