MySQLを使用すると、SQL_CACHE
とSQL_NO_CACHE
のオプションを使用してselect文を作成することができます。これらのオプションは、クエリキャッシュ内のクエリ結果のキャッシュに影響します。しかし、どのクエリに対してSQL_CACHE
オプションを使用する方が良いでしょうか?そのためにはSQL_NO_CACHE
?それとも、それを一切使用しない方が良いでしょうか?SQL_CACHEとSQL_NO_CACHEを使用するMySQLのベストプラクティス
10
A
答えて
12
一般的に、これを使用する必要はありません。 SQL_CACHE
は、クエリが既定でキャッシュされていない場合にのみ必要です。クエリは既定の構成です。 SQL_NO_CACHE
は、特に結果セットが大きい場合に、特定のクエリが近い将来再び使用されないことがわかっている場合に役立ちます。目的は、キャッシュを乱雑にしないようにすることです。
3
クエリ速度をデバッグするときにSQL_NO_CACHEを使用します。
+0
詳細を教えてください。 – Pacerier
+0
クエリをテストするときに、キャッシュからフェッチされずに実行時間を測定すると便利です。キャッシュからのフェッチはデータベースからのフェッチよりはるかに高速です。そのため、DBまたはキャッシュからの結果であるかどうかを知らずに結果を比較することは意味をなさない。 –
関連する問題
- 1. テーブルごとのSQL_NO_CACHE
- 2. MySQLのSQL_NO_CACHEが動作しない
- 3. KohanaのDB SQL_CACHE
- 4. Rails + MySqlベストプラクティスを使用したWebサービス
- 5. silverlightビジュアルステートとストーリーボードを使用するベストプラクティス
- 6. テーマとスタイルを使用するベストプラクティス
- 7. ALBを使用するベストプラクティス
- 8. PhpUnitを使用するベストプラクティス
- 9. MySQLバックアップのベストプラクティス
- 10. Hibernate + MySQLデータのベストプラクティス
- 11. AFNetworkingを使用するためのベストプラクティス
- 12. @SessionAttributesを使用するためのベストプラクティス
- 13. ウェブソケットを使用する場合のベストプラクティス?
- 14. Typescript:let(ベストプラクティス)を使用
- 15. 「部分ビュー」を含める/使用するときのベストプラクティス?
- 16. PHP MySQLエラーのログと処理 - ベストプラクティス
- 17. Ruby on Rails3とMySQLクエリのベストプラクティス
- 18. htmlとjavascript/jqueryのみを使用するコンポーネントベースのデザインのベストプラクティス
- 19. パッシブイベントリスナーを使用したWordpressとベストプラクティス
- 20. Cコード、NULLと0、ベストプラクティスを使用
- 21. Zend Framework:モデルとビューの使用、ベストプラクティス
- 22. openJPAを使用してレコードを更新するときのベストプラクティス
- 23. ベストプラクティス:mysqlフィールドを配置する場所
- 24. 背景などのコンテナとしてUIViewを使用するベストプラクティス
- 25. DjangoでAngularJSを使用するベストプラクティス
- 26. Laravelでヘルパーを使用するベストプラクティス
- 27. VS2012で 'volatile'キーワードを使用するベストプラクティス
- 28. GWTコンポーネントでEventBusを使用するベストプラクティス
- 29. Asp.net内でlucene.netを使用するベストプラクティス
- 30. mobx-reactで@injectを使用するベストプラクティス?
特にSQL_NO_CACHEに関しては、結果をキャッシュしても後で再利用するメリットが得られない場合に使用します。これを行うべき理由は、キャッシュされたが一度も使用されていないクエリが多数ある場合、キャッシュを無期限に管理するのに時間がかかるので、mySQLを遅くするからです。これは、古いエントリをフラッシュする時間がサイズとともに増加するため、人々が本当に大きなquery_cacheサイズを設定するときに特に顕著になります。そのため、mySQLのquery_cacheの動作を変更するオプション0,1,2があります。 – Ross
@Michael、実際に運用サーバー用に推奨されるconfiguratinoは**クエリキャッシングをオフにすることです。 – Pacerier
@Pacerierこれは実際の作業負荷によって異なります。 –