Более эффективное слово пограничный запрос в MySQL

У меня есть таблица с 1/2 миллиона фраз, и я делаю сопоставление слов, используя этот запрос:

SELECT * FROM `searchIndex` WHERE `indexData` RLIKE '[[:<:]]Hirt'

Поле IndexData имеет индекс FullText и является DataType longtextext.

Я хочу сопоставить на такие вещи, как

«Alois M. Hirt»

«Show Biz - Al Hirt, в новой роли, ...»

«Al Hirt's SinaTraville Open 9 P. , "

" Хитрость будет играть ... "

и не на« рубашке »или« тринадцать »или« тридцать »и т. Д.

Запрос преуспевает, но часто требуется 3 секунды, чтобы вернуться и Удивился, был ли лучший, более эффективный способ выполнения этого слова пограничного матча?

Если я должен был добавить еще один индекс для indexdata, что было бы правильной кейлиной для использования?

TIA

-121--1850865- Почему CMP 0x84,0x30 запускает флаг переполнения? Я играл с сборкой на некоторое время и глядя на какой-то код. В котором AL впервые установлен на 0x84, то CMP AL, 0x30 используется. Эта инструкция затем вызывает флаг переполнения. Из того, что я читаю ...

Я некоторое время играл со сборкой и смотрим на какой-то код. В котором AL впервые установлен на 0x84, то CMP AL, 0x30 используется. Эта инструкция затем вызывает флаг переполнения.

Из того, что я читаю CMP, должен вычесть второе число с первого, затем установить флаги, в этом случае он должен быть 0x84-0x30 Результат 0x54, и нет переполнения.

11
задан Maciek 31 August 2011 в 18:19
поделиться