MySQL の根本的な最適化を実現する方法: クエリ キャッシュの使用とパフォーマンス分析
MySQL は、一般的に使用されるリレーショナル データベース管理システムです。データの最適化、データベースのパフォーマンスの最適化は非常に重要です。その中でも、クエリ キャッシュは MySQL のパフォーマンス向上に役立つ重要なコンポーネントです。この記事では、クエリ キャッシュの使用方法とパフォーマンス分析の実行方法について説明し、具体的なコード例を示します。
クエリキャッシュとはクエリ結果をキャッシュする仕組みで、同じクエリを実行した場合、MySQLは実行せずにキャッシュ結果から取得します。再度クエリを実行します。これにより、データベースへのアクセスが減少し、クエリの応答速度と全体的なパフォーマンスが向上します。
MySQL では、クエリ キャッシュはデフォルトでオフになっているため、手動でオンにする必要があります。 my.cnf 構成ファイルに、次の構成を追加します:
query_cache_type = 1 query_cache_size = 128M
上記の構成では、クエリ キャッシュ タイプを 1 に設定します。これは、キャッシュが有効であることを意味します。キャッシュ サイズは 128MB で、次に従って調整できます。実際の状況。
クエリ結果をキャッシュするには、次の条件を満たす必要があります。クエリ文に変数が含まれていない (そのため、実際のアプリケーションでは動的部分をアプリケーション層に移動するようにしてください)
クエリ キャッシュのパフォーマンス分析
クエリ キャッシュ ヒット率 (Qcache_hits): クエリ結果がキャッシュから取得された回数を示します。
SHOW VARIABLES LIKE 'Qcache%'; +-------------------------+---------+ | Variable_name | Value | +-------------------------+---------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 3353656 | | Qcache_hits | 292 | | Qcache_inserts | 408 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 63 | | Qcache_queries_in_cache | 402 | | Qcache_total_blocks | 817 | +-------------------------+---------+
RESET QUERY CACHE;
パフォーマンス分析ケース
-- 创建测试表 CREATE TABLE test_table ( id INT PRIMARY KEY, name VARCHAR(255) ) ENGINE=InnoDB; -- 插入测试数据 INSERT INTO test_table (id, name) VALUES (1, 'John'), (2, 'Lily'); -- 优化前的查询 SELECT * FROM test_table WHERE id = 1; -- 查看查询缓存命中率 SHOW STATUS LIKE 'Qcache%'; -- 开启查询缓存 SET GLOBAL query_cache_size = 128 * 1024 * 1024; SET GLOBAL query_cache_type = 1; -- 优化后的查询 SELECT * FROM test_table WHERE id = 1; -- 查看查询缓存命中率 SHOW STATUS LIKE 'Qcache%';
以上がMySQL の基盤となる最適化を実装する方法: クエリ キャッシュの使用量とパフォーマンス分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。