Вопрос по индексации таблиц MySql.

240
01 января 2018, 09:27

Есть такая таблица:

Она предназначена для хранения информации о товаре, поле name содержит в себе название товара, например: "Керамогранит Kerama Marazzi SG609400R Амарено коричневый обрезной 60х60см".

На данный момент поле name индексировано BTREE, это видно на скриншоте. Имеет ли смысл индексировать таблицу по этому столбцу если к этой таблице часто выполняются запросы с подобной проверкой WHERE name LIKE '%Керамогранит%'?

Как работает индексация по текстовому полю varchar?

Answer 1

Лучше длинно-символьные строки не индексировать, это может повлиять на скорость выборки.

Если уж слишком припекло, используй индексацию по сжатому ключу

CREATE INDEX name_indx1 ON product(name)
TABLESPACE INDEXES_TABLE_ALL
COMPRESS 1;

Так, при повторяющемся компоненте в индексе выигрывает в скорости (Раз B*tree, то выиграет на уровне 1)

READ ALSO
Консольная игра ошибка на C#

Консольная игра ошибка на C#

Всех поздравляю с наступающим!!! Учусь C# и вот решил написать консольную игру простенькую, подскажите пожалуйста что в моём коде не так то есть...

275
Вывод строк в combobox

Вывод строк в combobox

Столкнулся с проблемой с combobox, не выводится строка с названием беседы ВК

301
Быстрый перенос директорий

Быстрый перенос директорий

Как можно достичь быстрого переноса директорий из одного места на диске в другое место на этом же диске?

246
Булева переменная isGrounded в Character Controller

Булева переменная isGrounded в Character Controller

Я знаю, что в Character Controller есть булева переменная isGrounded, которая определяет, стоит ли персонаж на каком-либо объектеТак вот, можно ли как-то...

256