CREATE TABLE users (
userID uuid,
firstname text,
lastname text,
state text,
zip int,
age int,
PRIMARY KEY (userID)
);
Я хочу построить следующие запросы:
select * from users where age between 30 and 40
select * from users where state in "AZ" AND "WA"
Я знаю, мне нужно еще две таблицы для этого запроса, но я не знаю, как это должно быть?
ИЗМЕНИТЬ
От комментариев Карло, я вижу, что это единственная возможность
CREATE TABLE users (
userID uuid,
firstname text,
lastname text,
state text,
zip int,
age int,
PRIMARY KEY (age,zip,userID)
);
Теперь выберите пользователей с возрастом от 15 до 30. Это единственная возможность:
select * from users where age IN (15,16,17,....30)
Однако использование IN-оператора здесь не рекомендуется и является анти-шаблоном.
Как насчет создания вторичного индекса по возрасту?
CREATE index users_age ON users(age)
поможет ли это?
Спасибо