mysql php 速度慢,php – MySQL加入缓慢.任何加速的方法

我有2张桌子. 1是音乐,2是listenTrack. listenTrack跟踪每首歌曲的独特播放.我试图获得本月流行歌曲的结果.我得到了我的结果,但他们只是花了太长时间.下面是我的表和查询

430,000行

CREATE TABLE `listentrack` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`sessionId` varchar(50) NOT NULL,

`url` varchar(50) NOT NULL,

`date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`ip` varchar(150) NOT NULL,

`user_id` int(11) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=731306 DEFAULT CHARSET=utf8

12500行

CREATE TABLE `music` (

`music_id` int(11) NOT NULL AUTO_INCREMENT,

`user_id` int(11) NOT NULL,

`title` varchar(50) DEFAULT NULL,

`artist` varchar(50) DEFAULT NULL,

`description` varchar(255) DEFAULT NULL,

`genre` int(4) DEFAULT NULL,

`file` varchar(255) NOT NULL,

`url` varchar(50) NOT NULL,

`allow_download` int(2) NOT NULL DEFAULT '1',

`plays` bigint(20) NOT NULL,

`downloads` bigint(20) NOT NULL,

`faved` bigint(20) NOT NULL,

`dateadded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (`music_id`)

) ENGINE=MyISAM AUTO_INCREMENT=15146 DEFAULT CHARSET=utf8

SELECT COUNT(listenTrack.url) AS total, listenTrack.url

FROM listenTrack

LEFT JOIN music ON music.url = listenTrack.url

WHERE DATEDIFF(DATE(date_created),'2009-08-15') = 0

GROUP BY listenTrack.url

ORDER BY total DESC

LIMIT 0,10

这个查询不是很复杂,行不是太大,我不这么认为.

有什么方法可以加快速度吗?或者你能提出更好的解决方案吗?这将是每个月开始的一个cron工作,但我也想做一天的结果.

哦,顺便说一句,我在本地运行,运行时间超过4分钟,但是在生产中它需要大约45秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值