2015-03-06 2 views
0

я узнал, что CONVERT(object USING utf8) для преобразования блоб в текст, но это не кажется эффективным в ИНЕКЕ, как это:Mysql запрос проверить тип столбца BLOB в котором пункт

Select * 
from Page 
where CONVERT(Page.page_title USING utf8) = 'AccessibleComputing' 

Является ли это только путь и правильный путь? потому что он занимает слишком много времени. Или мне нужно конвертировать 'AccessibleComputing' в двоичный файл, а затем поместить его туда?

ответ

0

Я попытался это и она работала:

Select * from Page where Page.page_title = 'AccessibleComputing' 

Я думаю, что после того, как все это не требует никакого преобразования.

+1

Это потому, что в этом случае MySQL будет преобразовывать константу в соответствие с типом столбца. Тем не менее, вы будете выполнять сканирование таблицы без индекса. Итак, если это быстро, я предполагаю, что у вас есть индекс на page_title. –

+0

Да page_title индексируется, спасибо за информацию. – Andi

0

Эти работы?

Выберите *, CAST (Page.page_title в символьном (10000) CHARACTER SET utf8) AS Tmp со страницы, где Tmp = '' AccessibleComputing

ИЛИ

Выберите *, CONVERT (Page.page_title ИСПОЛЬЗОВАНИЕ utf8) AS Tmp от Page, где Tmp = 'AccessibleComputing'

+0

Спасибо Asef, Кажется, я просто усложнил ситуацию, и это не было необходимо. – Andi

Смежные вопросы