Поиск текста в столбце LongBlob из базы данных MySQL
У меня есть база данных mysql с именем столбца col1 типа LONGBLOB. Я хочу найти все строки, которые содержат строку с именем "ложь" в col1. Это запрос, который я использую, но я получаю пустой набор
select * from Test t where CAST(t.col1 AS CHAR(10000) CHARACTER SET utf8)
like '%false%';
Я не уверен, что я делаю здесь не так
1 ответ
Бросать большое поле перед поиском не очень хорошая идея.
Вы можете добавить индекс FULLTEXT в свою таблицу, но вы должны преобразовать longblob
поле для длинного текста или сделать поле как его копию, а затем:
create fulltext index `ilongtext` on Test(col1_copy);
Вы сможете искать как:
select * from Test where match (col1_copy) against ('+false');
Это будет быстрее