由于shardkey相当于hash分区(主分区) 所以有时序的数据必定不是聚合到一起的(不相邻) 那么当我们通过时序字段去查询时 查询性能反而会比传统意义上的范围分区表(数据偏有序 相邻)差
这个场景如果对时间列进行hash分区的话,确实会使得数据库需要去所有分片的所有分区里面去查询数据,性能反而会倒退;可以考虑这样一种做法,按照业务对象/用户的id属性去做shard,查询可以带上分区键和时间,这样的话可以数据库可以确定在哪个分片的哪几个子表里面去查找数据;另外关系型数据库对于时序数据的存储压缩和查询优化并没有特殊优化,所以仅适用中小型时序数据存储,如果量大的话可以考虑用腾讯云的时序数据库CTSDB。