データが更新/挿入/削除されていない場合は、データベースを読んでいる間にデータベースをロックしないように指示する場合があります。それが助け場合、ドキュメント内
もっと読み:
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;
(http://itecsoftware.com/with-nolock-table-hint-equivalent-for-mysql参照:):
がMYSQLの場合、これは、の線に沿って何かであるように思わ
https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html
TSQLの同等機能は、Googleをさらに必要とする場合に役立ちます。
SELECT * FROM TABLE WITH (nolock)
これにより、パフォーマンスが向上する可能性があります。他のコメントで指摘されているように、良い索引付けが役立つかもしれませんし、可能であればテーブルを分割して物事を広げて、必要ない場合はすべてのデータにアクセスしないようにしてください。
メモとして、テーブルをロックすると、他の人がデータを使用している間にデータを変更することができなくなります。挿入/削除/更新が多いテーブルをロックしないと、同じデータ(ハードドライブ上を移動したとき)、欠落している行などの複数の行を返す可能性があります。
あなたのリクエストに対して選択している1つのテーブルがあるので、すべてテーブルをロックしたりロックを解除したりします。更新、挿入、削除を行っていない場合は、データが変更されるべきではないので、ロックを忘れる必要はありません。
誰かが「この質問は、研究活動を示し、それは便利かつ明確である」示唆upvotes ...それを私はNetflixの – Drew
は、テーブル、クエリのパフォーマンスを向上させるために、適切にインデックスされていることを確認してください見て行きます。同時クエリーがたくさんある場合、サーバーは一度に多くの操作しかできないため、自然に処理が遅くなります。 – Barmar