Для большинства записей это поле пустое. Мне нужно разбудить только некоторые записи.
Таблица очень большая, и я хочу знать, какие записи проснуться. Я не хочу, чтобы база данных искала каждую строку. Не могли бы вы показать мне свою идею?
Создать обычный индекс на всего (WAKEUP_TIME). В индексе будут храниться только те строки, где WAKEUP_TIME не равно нулю. Когда WAKEUP_TIME обновляется до NULL, запись будет удалена из индекса, поэтому индекс будет наиболее эффективным способом поиска всех строк, соответствующих вашему предикату.
WAKEUP_TIME
NULL
Почему бы вам просто не создать индекс для wakeup_time? Кроме того, по умолчанию вы можете заполнить его далекой датой, например 3000-01-01.