请问where条件中包含分区字段,为什么还会走全表扫描?

sql如下

t = select * from loadTable(dbName,tbName) where 2020.01M <= month(TradeDate) <=  2020.03M and SecurityID=`000528
请先 登录 后评论

1 个回答

Yingnan Wang

原因是对分区字段使用了函数和链式比较(1<x<3),这两种操作都会导致查询不能确定分区,应尽量避免。

attachments-2022-06-y7e0sCcF62b4340c32f97.png

详情可见用户手册第十章:https://www.dolphindb.cn/cn/help/130/DatabaseandDistributedComputing/DatabaseOperations/Queries.html


请先 登录 后评论