問題タブ [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.
mysql - クエリ キャッシュとバッファ プールが役に立たず、ディスク上に多数のテーブルが作成される
私は自己コーディングされた PHP-MySQL サイトを実行しており、以下の構成でクエリキャッシュを有効にしています。
上記の構成を次のように読み取ることができます。
- クエリキャッシュが有効になっています
- 結果サイズが 4096 バイトを超えるクエリをキャッシュしない
- バッファに収容できるクエリの合計は、約 5000 件のクエリ結果です (20MB/4KB = 5000)
tmp_table_sizeまたはmax_heap_table_sizeがキャッシュのクエリにどのように役立つかわかりません。これらの変数は、メモリまたはディスク (必要な場合) に作成された一時テーブルに関連しています。
システムには 32 GB のメモリがあり、ほとんどの場合、ほぼ 50% のメモリが空です。そのため、 innodb_buffer_pool_sizeを 4Gに設定しました。データベースのサイズは約 900MB で、1 日あたり約 2MB 増加しています。
mysqltuner ユーティリティで次の出力を取得しています
間違った構成を設定したようです。改善すべき点を教えてください。
hibernate - Hibernate の二次キャッシュは、「主キーによる検索」以外に役立ちますか?
私が理解していることから、L2 キャッシュは、主キーを使用してエンティティを見つけるときに役立ちます。
しかし、主キーに基づいていないクエリに使用する意味はありますか? 例えば:
クエリ キャッシュがオンになっていない場合、L2 キャッシュはまったく役に立ちますか?
hibernate - hibernate/ehcache を使用してデフォルトですべてのクエリをキャッシュしますか?
私たちのアプリケーションは読み取り専用データを処理するため、すべてのクエリで Hibernate クエリ キャッシュ機能 (ehcache によって実装) を使用することを検討しています。
ここまでで、第 2 レベル キャッシュとクエリ キャッシュの両方を有効にしました。
そして、各クエリがキャッシュ可能であることを hibernate に伝えました。
このアプローチには 2 つの欠点があります。
コードの冗長性 (クエリごとに手動でヒントを追加する必要があるため)
hibernate の依存関係 (これまでのところ、 JPA アノテーションのみを使用して、コードは直接の hibernate 参照からクリーンです)
これを達成する方法はありますか、つまり、構成ファイルのみを使用してすべてのクエリをキャッシュしますか?
ありがとうございました!
mysql - レコード数を表示する最良の方法は? 別テーブル?MySQLクエリキャッシュ? 選択クエリからカウントしますか?
ASP.NET を使用して作成された求人情報サイトがあり、DB は MYSQL です。
そこで、ユーザーは国を選択して欠員を配置できます。そして、すべての仕事には独自のカテゴリがあります。私がやりたいのは、各場所と各カテゴリの前にカウンターを表示することです。
私は通常、左結合を使用してクエリから行カウンターを取得することでこれを行います。
パフォーマンスを考えると、それは良い方法ですか?
カウンターを格納するための別のテーブルを維持するとどうなりますか。ユーザーが広告を掲載すると、カウンターは 1 増加し、削除または期限切れの場合はカウンターが 1 減少します。何百万ものユーザーが同時に広告を掲載していることを思い出してください。これはロックにつながる可能性がありますか?
また、MySQL クエリ キャッシュについても聞きました。私はこれについて何の考えも持っていません。
このサイトには、毎日多くのページ ヒットがあります。200万近く。
または、これを行うための最良の方法はありますか?その時点までの DB の正確な記録を伝えたくないことを思い出してください。ユーザーはそれを気にしません。しかし、精度は特定の時間だけ存在する必要があります。
php - mysqlnd_qc ストレージ ハンドラの選択
実稼働サーバーに mysqlnd_qc をインストールしようとしています (良い決定かどうかはわかりませんが、それを選択しました)
インストールして実行することができました。ここまでは順調ですね。私の唯一の懸念は次のとおりです。
デフォルトのストレージ ハンドラを使用しても問題ありませんか。APC と memcache をサポートしていることは知っています。しかし、APC は停止しており、memcache ハンドラーは機能していません
mysql - mysql クエリ キャッシュの内容を表示する
mysqls クエリ キャッシュ機能を使用する大規模なデータベース アプリケーションがあります。アプリケーションを最適化したいので、(たとえば、SELECT SQL_NO_CACHE を使用して) クエリ キャッシュの内容を調べて、キャッシュすべきでないエントリを特定したいと考えています。
クエリ キャッシュからキャッシュされたエントリのリストを取得する方法はありますか?
-- 編集: Rick が提案した追加情報 ---
1) RAM サイズは 16GB です
2) 変数を表示します。
3) グローバル ステータスを表示します。
yii2 - yii2でdbクエリキャッシュをフラッシュするには?
特定のテーブル レコードで変更が発生した場合の処理方法