|
|
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
В работающей системе в SQL-запросе есть такое условие: Код: plsql 1. Насколько я помню, любое сравнение с null всегда будет давать false, то есть если в поле будет null, то сравнение с текущей датой все равно даст отрицательный результат. По какой причине в запросе указано reckoning_date IS NOT NULL ? Какие-то подсказки оптимизатору или просто перестраховались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:25 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
Alibek B.любое сравнение с null всегда будет давать false null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:30 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
NULL значения не хранятся в b_tree индексах. Поэтому если по полю есть индекс и колонка не объявлена как NOT NULL, то индекс может не использоваться. Указание в запросе NOT NULL позволяет использовать индекс при выполнении запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:31 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
здесь вполне вероятны "подсказки оптимизатору". Но для для данного фрагмента, вырванного из контекста - сомнительной ценности. В некоторых обстоятельствах подобное используют с целью рассказать оптимизатору о том, что не надо отбрасывать вариант плана с использованием индекса, возможно многоколоночного, с включением в него reckoning_date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:33 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
AmKadAlibek B.любое сравнение с null всегда будет давать false null unknown ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:38 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
По полю reckoning_date есть обычный индекс (не уникальный, не составной). То есть я могу смело убирать проверку reckoning_date IS NOT NULL ? Результат выборки от этого меняться не должен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:50 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
Alibek B.По полю reckoning_date есть обычный индекс (не уникальный, не составной). То есть я могу смело убирать проверку reckoning_date IS NOT NULL ? Результат выборки от этого меняться не должен? результат выборки - не должен . алгоритм её построения - может . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 13:46 |
|
||
|
Требуется ли проверка на null при сравнениях?
|
|||
|---|---|---|---|
|
#18+
Сравнения достаточно,. is not null ничего не дает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 13:50 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1883810]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 475ms |

| 0 / 0 |
