0

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

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

4

3 回答 3

2

您一次查询太多行。您需要一次查询较少的行并翻阅它们。

更新:

第一个查询:

select <KEY>,p0001 from eExtension limit 1000;

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

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

重复该模式直到完成。

于 2013-05-24T20:22:49.763 回答
0

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

于 2013-05-25T10:05:31.597 回答
0

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

于 2013-05-23T17:49:15.763 回答