[解决]来问下技术问题,查找当天时间怎么效率最高
本帖最后由 卧草泥马 于 2021-4-20 16:26 编辑表中两个字段
time1 是int放的是时间戳
time2 是timestamp格式
而且这两个字段都做了 index索引
数据量大概三千万条
问题就是我查找当天的记录,不管是用time1还是time2,速度都不理想
SELECT count(id) as numsFROM `AAA` WHEREdate_format(from_UNIXTIME(time1),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
或者
SELECT COUNT( id ) AS nums FROM `AAA` WHERE DATEDIFF( time2, NOW( ) ) =0
求个高效的语句,感谢,汇报下结论
===========================
最后用了最直接的查询
$today_start = strtotime(date('Y-m-d 00:00:00'));
$today_end = strtotime(date('Y-m-d 23:59:59'));
SELECT COUNT( id )FROM `AAA` WHERE time1>$today_start AND time1<$today_end
速度肉眼可见的提升,哈
在SQL中有计算语句好像不好
试下直接的
SELECT count(id) as numsFROM `AAA` WHERE time1=当天时间戳 0度寂寞 发表于 2021-4-20 15:18
在SQL中有计算语句好像不好
试下直接的
SELECT count(id) as numsFROM `AAA` WHERE time1=当天时间戳
当天时间戳 ?
这个不是很明白 索引做了吗 算出当天的起始时间,然后 time>? and time<?这样效率最最高 :lol: 对于mysql数据库,我只是用来存储,不进行占用资源的计算
如果确实需要搜索,使用第三方方案,使用Lucene.net来解决 算出当天的时间戳范围
然后再搜这个范围的数据 0度寂寞 发表于 2021-4-20 15:49
算出当天的时间戳范围
然后再搜这个范围的数据
这个方法可以
页:
[1]