我在MySQL 5.1非规范化表上运行此sql查询.它按照我想要的方式工作,但它可能很慢.我在日期栏中添加了一个索引,但它仍然需要更快.有关如何加快速度的任何建议吗?(或许可以加入?)
SELECT DISTINCT(bucket) AS b,
(possible_free_slots -
(SELECT COUNT(availability)
FROM ip_bucket_list
WHERE bucket = b
AND availability = 'used'
AND tday = 'evening'
AND day LIKE '2012-12-14%'
AND network = '10_83_mh1_bucket')) AS free_slots
FROM ip_bucket_list
ORDER BY free_slots DESC;
Run Code Online (Sandbox Code Playgroud)
个别查询很快:
SELECT DISTINCT(bucket) FROM ip_bucket_list;
1024 rows in set (0.05 sec)
SELECT COUNT(availability) from ip_bucket_list WHERE bucket = 0 AND availability = 'used' AND tday = 'evening' AND day LIKE '2012-12-14%' AND network = '10_83_mh1_bucket';
1 row in set (0.00 …Run Code Online (Sandbox Code Playgroud)