Значение по умолчанию для колонки в индексе?
От: rFLY  
Дата: 16.04.19 13:12
Оценка:
Добрый день

Допустим есть таблица три поля которой в кластерном инденксе (a, b и c, все NOT NULL). Поле b может иметь какое либо значение или пусто ''. Есть ли возможность для него указать какую-то константу, когда при выборке в условии выборки используются a и c?
Т.е. сейчас, когда предыдущая колонка из индекса опущена, то в seek predicate попадают все условия до этой колонки, а все оставшееся в просто predicate:
SELECT t.* FROM t WHERE t.a='val1' AND t.c='val3'
Predicate
t.c = 'val3'
Seek Predicates
t.a = 'val1'


А хотелось бы, чтобы при таком запросе было:
Seek Predicates
t.a = 'val1'
t.b = ''
t.c = 'val3'

как если бы запрос был таким:
SELECT t.* FROM t WHERE t.a='val1' AND t.b='' AND t.c='val3'


Можно как-то такое провернуть или всегда придется писать AND t.b=''?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.