假设我有一张桌子
RecordingsByAccountaId(AccountId,a,b,c,x,y,z)
分区键:AccountId聚类键:a,b
我需要在我的代码中获取一个帐户的数据,因此执行
从RecordingsByAccountaId中选择*,其中accountId ='accountId';
这是一项昂贵的操作吗?
目标是更新此表的2-3行,但我没有更多信息,而accountId。
查询一行或整个分区几乎相同吗?因为我看到在200行和n行之间获取的时间相差20-30毫秒?
主要取决于分区的大小-分区包括多少行。另一个因素是您的分区有多分散-它位于单个SSTable(已压缩)中还是位于多个SSTable中,因此您将从多个文件中读取数据。
但是通常,读取单个文件中的分区是顺序操作,因为属于同一分区的所有行都是按顺序写入的,并且如果分区的大小不是很大,那么性能就不会受到很大的影响(但这可能也取决于您的硬件)。
P.S。您如何决定要更新的行?