我想知道如何配置cassandra以获得更好的读取性能,因为当我尝试执行 SELECT 查询一个有1m行的表 timedoutexception .我已经换了衣服 request_timeout_in_ms ,添加更多节点,但仍出现相同错误。
SELECT
timedoutexception
request_timeout_in_ms
bvn4nwqk1#
分页的一种方法是使用cassandra的客户端应用程序,比如playorm。当您查询时,playorm返回一个游标,当您的第一个页面读取前100个结果并显示它时,下一个页面可以在会话中使用相同的游标,它将从它离开的地方开始,而不会再次扫描前100行。访问这里可以查看cursor的示例,以及所有特性和有关playorm的更多详细信息
ktca8awb2#
听起来像是你想一次读100万行。不要。
disbfnqx3#
一次查询的行太多。您需要一次查询较少的行,并逐页浏览它们。更新:第一个查询:
select <KEY>,p0001 from eExtension limit 1000;
重复:获取该查询的最后一个结果:
select <KEY>,p0001 from eExtension where token(<KEY>) > token(<LAST KEY RETURNED FROM PREVIOUS>) limit 1000;
重复这个模式直到完成。
3条答案
按热度按时间bvn4nwqk1#
分页的一种方法是使用cassandra的客户端应用程序,比如playorm。当您查询时,playorm返回一个游标,当您的第一个页面读取前100个结果并显示它时,下一个页面可以在会话中使用相同的游标,它将从它离开的地方开始,而不会再次扫描前100行。访问这里可以查看cursor的示例,以及所有特性和有关playorm的更多详细信息
ktca8awb2#
听起来像是你想一次读100万行。不要。
disbfnqx3#
一次查询的行太多。您需要一次查询较少的行,并逐页浏览它们。
更新:
第一个查询:
重复:获取该查询的最后一个结果:
重复这个模式直到完成。