Мне нужно использовать условие where при поиске записей с определенным PID в моей базе данных cassandra
id = uuid
pid= Property Id (text)
created_at = timestamp
Мне нужно найти 5 лучших записей определенного идентификатора свойства.Итак, моя таблица создания выглядит следующим образом.
CREATE TABLE property_tax (
id uuid,
state text,
area text,
balance_type text,
created_at timestamp,
created_by text,
last_paid_at timestamp,
max_tax float,
min_tax float,
pid text,
prev_balance float,
prev_interest float,
property_type text,
tax_cess float,
tax_year timestamp,
total_paid float,
total_paid_cess float,
total_paid_tax float,
PRIMARY KEY (pid,created_at,id)
);
, а мой запрос выглядит следующим образом
select * from property_tax where pid = 'property1' ORDER BY created_at DESC LIMIT 5;
Он работает в соответствии с моим требованием, но правильный ли мой подход?или это нужно изменить.Есть ли проблемы с производительностью, которые могут возникнуть в будущем.Я смотрю на 500 миллионов записей и расту.
НОВОЕ РЕДАКТИРОВАНИЕ:
Я добавил два столбца 1.state 2.area В штате будет несколько областей
ID объекта (pid) будет иметь несколько записей не более 100 записей
So, I need to query TABLE property_tax for below
1. Find all the pid
2. find all the pid in the area
3. find all the pid in the state
4. find Limit 5 for pid (ORDER_BY created_at DESC)
Большое спасибо Шаши