如何实现数据库的不均匀分区,进行查询优化和提高查询效率?

学习了dolphindb之后,了解到dolphindb的查询效率和分区的大小有关,我现在的应用场景是这样的:
2000年至2020年的数据量都很小,差不多每年50W条,但是2020年以后的数据量就变大了,差不多每个月100W条,请问这样时间跨度上分布不均匀的数据应该怎么样进行合理分区,才能提高查询的效率?

请先 登录 后评论

1 个回答

chenweijian

关于合理分区的问题,可以参考一下这个教程:https://gitee.com/dolphindb/T...
根据上面的实际场景,可以这样进行分区:

dbTime = database("", RANGE, date(datetimeAdd(1970.01M,0..49*12,'M')) join date(datetimeAdd(2020.01M,0..130,'M')))
dbSymbol = database("", HASH, [SYMBOL, 2])
db = database(DBname, COMPO, [dbTime, dbSymbol])

这样的话,这个数据库的第一层分区是2020年以前的按年分,2020年以后的按月分,然后第二层分区是根据SYMBOL按照HASH分两个分区。

请先 登录 后评论