我正在处理的mysql查询如下:
select line_item_product_code, line_item_usage_start_date, sum(line_item_unblended_cost) as sum
from test_indexing
force index(date)
where line_item_product_code in('AmazonEC2', 'AmazonRDS')
and product_region='us-east-1'
and line_item_usage_start_date between date('2019-08-01')
and date('2019-08-31 00:00:00')
group by line_item_product_code, line_item_usage_start_date
order by sum;
我已经在列(“line_item_usage_start_date”)上应用了索引,但是在运行查询时索引不起作用并且解释类型是“ALL”并且没有使用键。仅当 where 子句采用“OR”或“IN”运算符时,索引才起作用。列的数据类型是: line_item_product_code : TEXT line_item_unblended_cost : DOUBLE product_region : TEXT line_item_usage_start_date : TIMESTAMP 我这个查询的主要目标是:优化仪表板中的快速响应查询,我有这个 192 列和 9m+ 行的 csv 大小的表13+ GB。我想索引将解决我处理这个查询的问题。是否有这些运营商的替代品或任何其他解决方案?