5

テーブルがフロントエンドから頻繁に書き込まれ、同じテーブルも頻繁に検索する必要がある場合。どちらもパフォーマンスが重要です。

たとえば、「コンテンツ」列に全文インデックスを持つ検索可能なPOSTテーブル?投稿を書いているユーザーが少ない場合は、同じテーブルに移動し、他のユーザーが同時にテーブルでキーワードを検索します。

Will UPDATE/INSERT operation lock SELECT queries in above case ?

データベース-MySQL

4

1 に答える 1

12

これは、テーブルのストレージエンジンによって異なります

InnoDB

InnoDBはMVCC4つのトランザクション分離レベルをサポートします

これにより、INSERT、UPDATE、DELETE、およびSELECTが99.999%の時間で調和して動作できるようになります。

MyISAM

これはまったく異なる競技場です。デフォルトでは、すべてのINSERT、UPDATE、およびDELETEがテーブル全体をロックします。INSERTでは、 concurrent_insertを2に設定することにより、テーブルのロックを無効にすることができます(詳細については、 Concurrent Insertsを参照してください)。それ以外の場合、UPDATEとDELETEは、完全なテーブルロックを実行することで大混乱を引き起こす可能性があります。

于 2013-03-26T13:07:42.950 に答える