请教,能否对时间建立索引提高查询效率
一个表里有一百五十万条记录,表结构如下
Create TABLE BID(
AUCTION_ID INT NOT NULL,
USER_ID VARCHAR(30) NOT NULL,
BID INT NOT NULL,
TIME DATETIME NOT NULL,
TYPE VARCHAR(20) NOT NULL,
PRIMARY KEY(AUCTION_ID,BID)
)
需要建立查询找出某一时间段有多少DISTINCT USER_ID, 有没有什么高效的方案?
目前的查询用法是
SELECT COUNT(DISTINCT USER_ID) FROM BID WHERE TIMESTAMPDIFF(SECOND,TIME,E_TIME)<S_BF AND TIMESTAMPDIFF(SECOND,TIME,E_TIME)>0;
其中E_TIME是给定时间点, S_BF是提前的秒数.
我不知道能不能用索引提高效率,但是貌似索引是最直接比较时有效,但是时间比较用到了函数 TIMESTAMPDIFF
实际测试对TIME建立索引后执行效率还是相同的
请问各位高手,有招么