0
У меня есть следующая структура таблицы:Кассандра имеет медленный (RPC тайм-аут) запрос на чтение с долго оператором
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? Другая структура данных? Любые идеи?
Вы можете оставить полную схему (создать таблицу заявление), включая любые индексы? – Richard
Сколько экземпляров в вашем кластере? Если у вас более одного, задайте согласованность с local_quorum и посмотрите, есть ли у вас такая же проблема. – user1452132