我可以从按日期分区的大型配置单元表中选择数据(格式: yyyyMMdd
),配置单元查询需要从6个月的数据(总共180个日期分区)中提取几个字段。当前查询如下所示:
SELECT field_1, field_2
FROM table
WHERE `date` BETWEEN '20181125' and '20190525'
想知道是否要更改查询以使用 >= & <=
在性能方面有任何不同。
SELECT field_1, field_2
FROM table
WHERE `date`>='20181125' AND `date`<='20190525'
2条答案
按热度按时间wbrvyc0a1#
在使用<>而不是between关键字时,我想不出性能有什么显著变化。
然而,使用in关键字并列出范围之间的所有日期将比其他两种情况稍有优势。
332nm8kg2#
>=, <=
以及BETWEEN
应该生成相同的执行计划,尽管在配置单元版本中可能不同。使用explain,它显示查询执行计划。只有计划才能有助于肯定地回答这个问题。检查
EXPLAIN DEPENDENCY
,它打印出来了input_partitions
然后您将看到分区修剪在每种情况下是否有效。如果计划相同
>=, <=
,BETWEEN
以及IN
那么它的工作原理和性能应该是一样的。