안녕하세요..
java개발 초년차 신입입니다..
현재 프로그램을 돌리고 있는데 속도가 계속적으로 느려져서
MySQL Administrator로 봐더니 Query Cache Hitrate 0%였습니다.
PreparedStatement를 사용했고 바인딩변수까지 설정해 줬는데
Qcache_hits 는 0이였습니다 ..
쿼리는
SELECT d.id, d.name, d.created_bk_num, d.full_path FROM
table d
WHERE d.parent_id = ?
AND d.id NOT IN (SELECT DISTINCT(d2.id)
FROM table d2,_table2 dm
WHERE d2.parent_id = ? AND d2.id = dm.dir_id AND modified_type =4);
이렇게 되서 parent_id 값이 계속 변화 되는 것입니다.
현재 DB 설정은
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_free_blocks |249 |
| Qcache_free_memory | 76540976 |
| Qcache_hits | 5815 |
| Qcache_inserts | 39505234 |
| Qcache_lowmem_prunes | 11410888 |
| Qcache_not_cached | 26282930 |
| Qcache_queries_in_cache | 151893 |
| Qcache_total_blocks | 304052 |
+-------------------------+----------+
8 rows in set (0.00 sec)
+------------------------------+-----------+
| Variable_name | Value |
+------------------------------+-----------+
| query_alloc_block_size | 8192 |
| query_cache_limit | 2097152 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 268435456 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
+------------------------------+-----------+
7 rows in set (0.00 sec)
이렇게 되었있습니다...
mysql 버전은 4.1.20입니다..
도와주세요~~~
|