У меня есть следующее семейство столбцов:
CREATE TABLE test."Data" (
"ItemID" uuid,
"DataID" uuid,
PRIMARY KEY (("ItemID", "DataID"))
)
Я хочу получить все строки, имеющие "ItemSourceID" = someuuid
.
Раньше у меня была следующая схема, и она отлично работала:
CREATE TABLE test."Data" (
"ItemID" uuid,
"DataID" uuid,
PRIMARY KEY (ItemID, "DataID")
Но у меня было много проблем с производительностью, потому что было слишком много строк для определенного ItemID (несколько миллионов).
Мне было интересно, позволят ли следующие запросы получить все результаты для определенного ItemID или это действительно невозможно:
SELECT * FROM "Data" WHERE token("ItemID", "DataID") > token(e9e9ebfd-c9aa-11e4-b1a1-b8e85641b1e0, 00000000-0000-0000-0000-000000000000) LIMIT 1000;
А затем заменяя 00000000-0000-0000-0000-000000000000 последним UUID, который я получаю, пока не будет результата с этим идентификатором элемента. Базовая пагинация.
Я получаю результаты прямо сейчас, но я не знаю, получу ли я их все, так как я не уверен, как работает токен, и если 00000000-0000-0000-0000-000000000000 на самом деле всегда первый.
Я использую кассандру 2.1.4.
спасибо за помощь