Я пытаюсь выполнить запрос, используя timeuuid для извлечения набора результатов.Запрос по типу timeuuid не возвращает правильные результаты через cql
Таблицы как таковые:
CREATE TABLE mds.arguments_by_id (
argument_id timeuuid PRIMARY KEY,
category text,
title text
)
Когда я выбираю dateOf() для всех данных в таблице, я получаю следующее:
select dateOf(argument_id),argument_id from arguments_by_id ;
dateOf(argument_id) | argument_id
-------------------------+--------------------------------------
2014-12-29 13:50:07-0500 | 81f990c0-8f8b-11e4-abb3-5d7a44c0d8a8
2014-12-29 14:01:43-0500 | 20def1c0-8f8d-11e4-abb3-5d7a44c0d8a8
2014-12-29 14:01:58-0500 | 29b50f50-8f8d-11e4-abb3-5d7a44c0d8a8
2014-12-29 14:03:01-0500 | 4f6b72c0-8f8d-11e4-bc90-abc65998337a
(4 rows)
запрос Я хотел бы для запуска должен возвращать результаты, где argument_id (дата) превышает указанную дату:
select dateOf(argument_id),argument_id from arguments_by_id where token(argument_id) > token(maxTimeuuid('2014-12-28 15:31:00-0500'));
Однако этот запрос г eturns в (казалось бы) неполный набор результатов по сравнению с предыдущим выберите:
dateOf(argument_id) | argument_id
--------------------------+--------------------------------------
2014-12-29 14:01:43-0500 | 20def1c0-8f8d-11e4-abb3-5d7a44c0d8a8
2014-12-29 14:01:58-0500 | 29b50f50-8f8d-11e4-abb3-5d7a44c0d8a8
2014-12-29 14:03:01-0500 | 4f6b72c0-8f8d-11e4-bc90-abc65998337a
(3 rows)
Моя цель состояла в том, чтобы свести к минимуму количество ключей - но мне интересно, если я 1) подвергаясь производительность удар, идя по этому пути и 2) пытается сделать слишком много с первичным ключом.
Спасибо - я переработаю модель данных. У меня было ощущение, что сканирование таблицы будет проблемой. – markd