индекс для `где wakeup_time <sysdate` - PullRequest
1 голос
/ 24 марта 2010

Для большинства записей это поле пустое. Мне нужно разбудить только некоторые записи.

Таблица очень большая, и я хочу знать, какие записи проснуться. Я не хочу, чтобы база данных искала каждую строку. Не могли бы вы показать мне свою идею?

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

Создать обычный индекс на всего (WAKEUP_TIME). В индексе будут храниться только те строки, где WAKEUP_TIME не равно нулю. Когда WAKEUP_TIME обновляется до NULL, запись будет удалена из индекса, поэтому индекс будет наиболее эффективным способом поиска всех строк, соответствующих вашему предикату.

0 голосов
/ 24 марта 2010

Почему бы вам просто не создать индекс для wakeup_time? Кроме того, по умолчанию вы можете заполнить его далекой датой, например 3000-01-01.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...