kode
never knows best
Оптимизация выборки: индексы и полнотекстовый поиск
Есть таблица:
id, user, dir, filename, size, md5
Кол-во рядов на данный момент: 1,313,169
Размер скромен: 395,025 КБ
Есть индексы:
FULLTEXTовый - dir, filename = fulltext_path
и простой dir, filename = filepath
При полнотекстовом поиске с условием, аля
Всё тип топ, выборка происходит за 0.0097 сек
Но в полнотекстовом поиске есть небольшой недостаток:
Если файл называется beck_01 то его не найдёт
Посему используем обычную выборку:
Но тут результат просто чертовски негоден: 10.37 сек
Это даже несмотря на то что используется индекс.
С раздельными индексами результат аналогичный.....
Что посоветуете.....
Мускул - 4.1
Есть таблица:
id, user, dir, filename, size, md5
Кол-во рядов на данный момент: 1,313,169
Размер скромен: 395,025 КБ
Есть индексы:
FULLTEXTовый - dir, filename = fulltext_path
и простой dir, filename = filepath
При полнотекстовом поиске с условием, аля
Код:
SELECT * FROM files WHERE MATCH (filename,dir) AGAINST ('beck') ORDER BY `user` ASC, `dir` ASC;
Но в полнотекстовом поиске есть небольшой недостаток:
Если файл называется beck_01 то его не найдёт

Посему используем обычную выборку:
Код:
SELECT * FROM files FORCE INDEX (filepath) WHERE `dir` LIKE '%beck%' OR `filename` LIKE '%beck%' ORDER BY `user` ASC, `dir` ASC;
Это даже несмотря на то что используется индекс.
С раздельными индексами результат аналогичный.....
Что посоветуете.....
Мускул - 4.1