Это для InnoDB с MySQL 5.7.MySQL - индексирование для сравнения строк
Если у меня есть запрос типа:
SELECT A, B, C FROM TABLE WHERE STRCMP(D, 'somestring') > 0
Можно ли иметь индекс D
, который можно использовать в запросе? то есть MySQL достаточно умен, чтобы использовать индекс btree для функции STRCMP?
Если нет, то как я смогу перепроектировать запрос (и/или таблицу), чтобы я мог выполнять сравнение строк в D, и может быть какая-то форма обрезки, чтобы она не ударяла каждый ряд?
use: WHERE D like% somestring% – kollein
@kollein: Извините, но как этот комментарий даже уместен? Во-первых, с% somestring%, из-за префикса переменной индексирование отключено. Во-вторых, я пытаюсь выполнить сравнение строк, а не подстроку. –