MySQL 쿼리 실행 시간이 너무 오래 걸림

MySQL 쿼리 실행 시간이 너무 오래 걸림

행이 300,000개이고 크기가 113.7MB인 데이터베이스 테이블이 있습니다. 8개 코어와 8GB RAM을 갖춘 Ubuntu 13.10에서 데이터베이스를 실행하고 있습니다. 현재로서는 MySQL 서버가 평균 750%의 CPU를 사용합니다. 및 6.5%MEM( topCLI에서 실행하여 얻은 결과). 또한 Apache2 웹 서버와 동일한 서버에서 실행됩니다.

Mem 라인에서 얻은 내용은 다음과 같습니다. Mem: 8141292k total, 6938244k used, 1203048k free, 211396k buffers

실행하면 show processlist;다음과 같은 결과를 얻습니다.

2098812 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Horns/thumbs/Halloween 2013 Horns (Original).png'
2098813 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Witch Hat/thumbs/Halloween 2013 Witch Hat (Origina
2098814 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Blouse/thumbs/Halloween 2013 Blouse (Original).png
2098818 | admin | localhost       | phpb | Query   |   11 | Sending data | SELECT * FROM items WHERE parent = 210162 OR auto = 210162    

일부 쿼리는 실행하는 데 10초가 넘게 걸립니다. 이는 목록의 맨 위가 아니라 중간 어딘가에 이 목록에 얼마나 많은 쿼리가 쌓여 있는지에 대한 관점을 제공하기 위한 것입니다. 내 Query Cash 구성과 관련이 있을 수 있다고 생각합니다. 다음은 실행 시 표시되는 구성입니다.SHOW STATUS LIKE 'Qc%';

+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 434      |
| Qcache_free_memory      | 2037880  |
| Qcache_hits             | 62580686 |
| Qcache_inserts          | 10865474 |
| Qcache_lowmem_prunes    | 4157011  |
| Qcache_not_cached       | 3140518  |
| Qcache_queries_in_cache | 1260     |
| Qcache_total_blocks     | 4440     |
+-------------------------+----------+

Qcache_lowmem_prunes조금 높은 것 같던데 , 이게 정상인가요?

StackOverflow를 검색했지만 문제를 해결할 수 있는 항목을 찾을 수 없습니다. 이에 대한 도움을 주시면 대단히 감사하겠습니다. 감사합니다!

답변1

Thumb, 부모 또는 자동 열에 인덱스가 있습니까? 원칙적으로에헴경험상, where 절의 각 열이나 열 그룹에 대한 색인이 있어야 합니다.

관련 정보