我有一个数据库表,有30万行和113.7 MB的大小。 我有我的数据库运行在Ubuntu 13.10与8核心和8GB的RAM。 就目前来看,MySQL服务器平均占用了750%的CPU。 和6.5%的MEM(通过在CLI中运行得到的结果)。 还要注意,它运行在与Apache2 Web服务器相同的服务器上。
这是我在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秒才能执行,这不是列表中的顶部,而是中间的某个地方,以便提供有关在此列表中堆叠多less个查询的视angular。 我觉得这可能与我的查询现金configuration有关。 下面是运行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看起来有点高,这是正常的吗?
我一直在searchStackOverflow,但我找不到任何可以解决我的问题的东西。 任何帮助,将不胜感激,谢谢!
你有你的拇指,父母,或自动列索引? 作为一个大拇指的规则,你应该在where子句的每一列或一组列上有一个索引。