我正在使用 MySQL 数据库。因为我在一个表中有销售数据,并且我为日期列(即)OrderedDate 创建了一个索引。
当我们使用这样的查询时,可以快速检索数据
SELECT CustID
,CustName
,CustPhone
FROM SalesData
WHERE OrderDate BETWEEN '2012-01-08' AND '2012-05-08';
但是为了获取 Particular Quarter cycle 的详细信息,它会变慢并扫描整个表数据。
查询就像
SELECT CustID
,CustName
,CustPhone
FROM SalesData
WHERE Quarter(OrderDate) = Quarter('2012-01-08')
AND Year(OrderDate) = Year('2012-01-08');
无论如何索引季度函数(或)任何方式来加速季度周期的数据检索......?
解释声明:
第一次查询
id Selecttype table type possible_keys key key_len ref rows Extra
1 SIMPLE SalesData range csrv csrv 4 138 Using where
对于第二个查询(扫描 104785 行数据)
id Selecttype table type possible_keys key key_len ref rows Extra
1 SIMPLE SalesData All 104785 Using where