我正在使用MySQL数据库。因为我在一个表中有销售数据,并且我为Date列(即OrderedDate)创建了一个索引。MySQL日期字段索引
的的数据都是快速检索,当我们使用查询像
SELECT CustID
,CustName
,CustPhone
FROM SalesData
WHERE OrderDate BETWEEN '2012-01-08' AND '2012-05-08';
但采取的细节特别四分之一周期,它变得缓慢和扫描整个表DATAS ..
查询像
SELECT CustID
,CustName
,CustPhone
FROM SalesData
WHERE Quarter(OrderDate) = Quarter('2012-01-08')
AND Year(OrderDate) = Year('2012-01-08');
无论如何索引四分之一函数(或)以任何方式加快季度周期的数据检索...?
EXPLAIN语句:
对于第一次查询
id Selecttype table type possible_keys key key_len ref rows Extra
1 SIMPLE SalesData range csrv csrv 4 138 Using where
对于第2个查询(扫描104785点的数据)
id Selecttype table type possible_keys key key_len ref rows Extra
1 SIMPLE SalesData All 104785 Using where
你可以在这里发布两个查询的explain语句输出,这将有助于答案.... – Namphibian
用解释语句ouptut编辑问题。 – CarlJohn