問題タブ [query-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
186 参照

mysql - Mysqlクエリキャッシュからいくつかのクエリを除外することは可能ですか?

私のサイトでは、各ページに 20 個の単純なクエリがキャッシュ可能であり、5 つの非常に大きなクエリがキャッシュ可能ではありません。したがって、mysql クエリ キャッシュをアクティブにするだけでは、ここでは良い考えではありません。20 個の単純なクエリがキャッシュされることは確かですが、5 つの大きなクエリの処理に 10% の時間が無駄に費やされます。これらの 5 つのクエリ " 一部のクエリだけにクエリ キャッシュを使用し、他のクエリを除外したい..

それで、誰のクエリがmysqlでキャッシュ可能になるかを選択することは可能ですか、そうでない場合は、そのための他の解決策や私の状況に対するアドバイスを知っていますか?

あなたのライトをありがとう、ジェスについて

0 投票する
1 に答える
1776 参照

mysql - mysql で query_cache_size を設定中にエラーが発生しました

mysql で query_cache_size を設定しようとしたところ、警告が表示され、キャッシュ サイズが 0 にリセットされました。

クエリを実行してみました

SET GLOBAL query_cache_size = 41984;

MySQLサーバーのバージョンを使用しています: 5.5.35-0ubuntu0.12.04.2 (Ubuntu)

クエリキャッシュサイズを設定するのを手伝ってください..

0 投票する
1 に答える
537 参照

mariadb - MariaDB の Qcache_hits と Com_select が一緒に増加する

MariaDB の QCache_hits と Com_select は一緒に増加します。

例えば。

MySQL

  • グローバル ステータスを表示 - Com_select は 0 です。Qcache_hits は 0 です。
  • 最初の select : select * from test_table where id = 1 - Com_select は 1 です。Qcache_hits は 0 です。
  • 2 番目の select : select * from test_table where id = 1 - Com_select は 1 です。Qcache_hits は 1 です。
  • 3 番目の select : select * from test_table where id = 1 - Com_select は 1 です。Qcache_hits は 2 です。

マリアDB

  • グローバル ステータスを表示 - Com_select は 0 です。Qcache_hits は 0 です。
  • 最初の select : select * from test_table where id = 1 - Com_select は 1 です。Qcache_hits は 0 です。
  • 2 番目の select : select * from test_table where id = 1 - Com_select は 2 です。Qcache_hits は 1 です。
  • 3 番目の select : select * from test_table where id = 1 - Com_select は 3 です。Qcache_hits は 2 です。

キャッシュにヒットすると Com_select の数が増えてもなぜですか?

私の環境は Ubunut 12.04(x64) と MariaDB 5.5.35 です。


0 投票する
2 に答える
198 参照

mysql - MySQL はクエリ キャッシングをサポートしていますか? そうでない場合、MySQL に代替手段はありますか?

MySQL はクエリ キャッシングをサポートしていますか。そうでない場合、これを達成するための代替手段はありますか。MySQL がこれをサポートしていることがわかりました here

この機能はデフォルトで有効になっていますか? または、設定を変更する必要がありますか?

私が質問している理由は、同じクエリを実行しても、テーブルから巨大なデータを読み取るクエリに問題があるためです.シナリオを説明します.次のシナリオを検討してください..

ケース1

入力パラメータ 'Hello' でリクエスト 1。入力パラメーター「Hello」を使用したリクエスト 2。

これについて言うと、次のクエリがあります

リクエスト 2 は、リクエスト 1 よりも高速に実行されます。

ケース 2

入力パラメータ 'Hello' でリクエスト 1。入力パラメーター「World」を使用したリクエスト 2。入力パラメーター「Hello」を使用したリクエスト 3。

ここでは、リクエスト 1 とリクエスト 3 が類似していても、各リクエストの実行にかかる時間は同じです。クエリ キャッシュが存在する場合、リクエスト 3 はリクエスト 1 よりも速く実行を完了する必要があります。これは、両者が同一であり、クエリと結果がキャッシュに存在する必要があるためです。これは私には起こっていません。では、クエリ キャッシュが存在するかどうかを知るにはどうすればよいでしょうか。

0 投票する
1 に答える
73 参照

mysql - MySQL クエリ キャッシングの動作

MySQL クエリ キャッシュの仕組みを理解したい。私はこのAPIをチェックしました

これらのシナリオはどのように機能しますか?

ケース1

ケース 2

ケース 3

したがって、ケース 3 が実行されたときに、結果がキャッシュからフェッチされるか、データベースからフェッチされるかを知りたいのです。誰か説明できますか?説明書にそう書いてあるから

同一と見なされるには、クエリがまったく同じ (バイト単位) である必要があります。

0 投票する
0 に答える
623 参照

mysql - 削除されたデータの履歴を取得する

mysqld クエリ キャッシュで起動された削除されたクエリが表示されます。

id に関連付けられたデータ463960(これはもう存在しません) を知る必要があり、バックアップもログも有効にしていません。データが削除された後、mysql はデータをアーカイブ/履歴テーブルに保存しますか? それを取り戻す方法はありますか?