create table (id int主键,c1 int,c2 int,....c1000 int);
我知道关系型数据库存储了这样一行的所有列,我只想查询一行的c400,我可以快速定位该行,但必须读出整个文件,然后找到c400值,因此当我想查询表的所有c400值时,这意味着所有的列和所有的行都将被读取。
如果我在cassandra中创建相同的表,并指定"id“列作为分区键。我知道一个分区中的c1、c2、...c1000将按如下方式存储:
{c1:1,c2:123,c3:45,.,c1000: 10}
这是k-v存储结构,但仍然是连续的列,我想读取一个分区的列c400,如何在不扫描其他列的情况下快速读取它?
发布于 2021-09-19 02:47:46
它扫描列,这就是为什么建议使用它来避免宽行。行越宽,读取速度就越慢。另外,宽行给堆带来了更大的压力。
https://stackoverflow.com/questions/69220241
复制相似问题