Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > index(strlength)


Автор: setnull 1.5.2010, 17:54
Все здравствуйте!!!

Если у меня есть проиндексированное строковое поле field,
запрос

Код

where strlength(field)> criteria


будет пользоваться индексом, или нужно прилепить индесированное поле с длинной?

Спасибо!!!

Автор: setnull 1.5.2010, 18:50
или, еще, целочисленное поле,
выражение 
Код

field mod 1000 < 100


?

Автор: skyboy 1.5.2010, 23:42
Цитата(setnull @  1.5.2010,  16:54 Найти цитируемый пост)
будет пользоваться индексом, или нужно прилепить индесированное поле с длинной?

в случае со строкой, индекс представляет собой хеш содержимого. по хешу о длине ничего сказать нельзя. нет, индекс использоваться не будет.
Цитата(setnull @  1.5.2010,  17:50 Найти цитируемый пост)
или, еще, целочисленное поле,

при использоваини функций/операторов над значением в поле, индекс использоваться не может.
почему было не проверить самостоятельно при помощи explain?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)