У меня есть таблица с 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-Я некоторое время играл со сборкой и смотрим на какой-то код. В котором AL впервые установлен на 0x84, то CMP AL, 0x30 используется. Эта инструкция затем вызывает флаг переполнения.
Из того, что я читаю CMP, должен вычесть второе число с первого, затем установить флаги, в этом случае он должен быть 0x84-0x30 Результат 0x54, и нет переполнения.