【发布时间】:2013-08-12 12:47:31
【问题描述】:
我有下一个表结构:
SELECT * FROM v WHERE uid = 0x5103be34e695ba3c31000000;
uid | cid | v
----------------------------+-----------+-------
0x5103be34e695ba3c31000000 | 02j1Dy9G1 | True
0x5103be34e695ba3c31000000 | 03szNx7G1 | False
0x5103be34e695ba3c31000000 | 0SREjO9G1 | True
0x5103be34e695ba3c31000000 | 0bQ4Qn9G1 | True
0x5103be34e695ba3c31000000 | 0ojEVLWF1 | True
0x5103be34e695ba3c31000000 | 1NiWfO9G1 | True
0x5103be34e695ba3c31000000 | 1fSmhWGF1 | True
0x5103be34e695ba3c31000000 | 1o0Ri3TF1 | True
用户 (uid) 喜欢 (True) 或不喜欢 (False) 内容 (cid)
“用户喜欢内容吗?”
SELECT * FROM v WHERE uid = 0x5103be34e695ba3c31000000 AND cid IN ('Rqy9V79J',....more than 2000 cids...);
rpc timeout
Normal SELECT * FROM v WHERE uid = 0x5103be34e695ba3c31000000 works very fast.
如何使用 IN 加快读取请求?其他数据结构? 有任何想法吗?
【问题讨论】:
-
你能发布你的完整架构(创建表语句),包括任何索引吗?
-
您的集群中有多少个实例?如果您有多个,请将一致性设置为 local_quorum 并查看是否有相同的问题。
标签: nosql cassandra bigdata cql high-load