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を見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
更新ロックとデッドロック
-
SELECT時の行ロックの必要性に...
-
DB2のロック調査
-
MySQLは難易度が高いのでSQLite...
-
max+1で初番する場合 for updat...
-
accessのロック
-
SQLServer Insertが遅い
-
「マスタ」と「テーブル」の違...
-
ACCESS 一つのフィールドに複...
-
ビューで引数を使いたい
-
Accessで更新した項目の抽出
-
データの二重表示の原因
-
accessのエクスポートエラーに...
-
ACCESS SQLステートメントにつ...
-
アクセス 日付抽出(年月のみ)...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessにインポートしたら並び...
-
アクセスで重複しない商品コー...
-
重複するキーから一番古い年月...
-
AccessのSQLで、FROM句の構文エ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
SELECT文でのデッドロックに対...
-
accessのロック
-
SQLServer Insertが遅い
-
Oracleの排他制御について教え...
-
INSERTにおいてロック処理は必要か
-
UPDATE文で発生するデッドロッ...
-
SELECT文でタイムアウト...
-
同時書き込み
-
AccessShareLock はどの程度気...
-
SELECT FOR UPDATE にトランザ...
-
更新ロックとデッドロック
-
トランザクション中にSELECTし...
-
max+1で初番する場合 for updat...
-
ExcelからAccess2013DBを更新す...
-
DB2でSelectした時(rollback,c...
-
DB2のロック調査
-
排他ロックしたレコードが、別...
-
書き込みの衝突
-
DB2の更新ロックについて
おすすめ情報