卡桑德拉阅读表演

时间:2013-05-22 16:27:46

标签: cassandra

我想知道如何配置Cassandra以获得更好的READ性能,因为当我尝试对包含1M行的表执行SELECT查询时,我得到timedoutexception

我已经更改了request_timeout_in_ms,添加了更多节点,但仍然遇到了相同的错误。

3 个答案:

答案 0 :(得分:2)

您一次查询的行数太多。您需要一次查询较少的行并通过它们进行分页。

<强>更新

首先查询:

select <KEY>,p0001 from eExtension limit 1000;

重复: 从该查询中获取最后一个结果:

select <KEY>,p0001 from eExtension where token(<KEY>) > token(<LAST KEY RETURNED FROM PREVIOUS>) limit 1000;

重复该模式直到完成。

答案 1 :(得分:0)

听起来你正试图一次读取所有1M行。不。

答案 2 :(得分:0)

分页的一种方法是使用Cassandra的客户端应用程序,如Playorm。 PlayOrm在您查询时返回一个光标,当您的第一个页面读入前100个结果并显示它时,下一个页面可以在您的会话中使用相同的光标,它会从中断处继续拾取而不再重新扫描前100行。 访问this查看光标示例,this查看所有功能以及有关playorm的详细信息