Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
производительность like '%blablabla%' в MySQL (CD) 12/10/2004 - 14:25:44
      Re: varchar must die ;) (Dinky) 12/10/2004 - 21:14:40
      Re: это еще вопрос (Dubrovsky) 13/10/2004 - 09:37:29
      Re: размер tmp_table_size достаточно большой (CD) 13/10/2004 - 10:07:36

> Original message text:
> From: CD - 12/10/2004 - 14:25:44
> Subject:производительность like '%blablabla%' в MySQL
> -----------------
> Есть 2 таблицы:
> create table test1(id int unsigned primary key not null auto_increment, name tinytext not null);
> create table test2(id int unsigned primary key not null auto_increment, name varchar(255) not null);
>
> Содержимое этих таблиц абсолютно идентично, но число записей довольно существенно, ~ 3 млн
>
> По моим оценкам select * from test1 where name like '%blabla%'; работает примерно на 30% быстрее чем select * from test2 where name like '%blabla%';
>
> Хотя судя по документации должно бы быть наоборот. Данное явление повторяется на совершенно разных платформах/ОС/версиях MySQL. Для меня производетельность таких запросов крайне существенна. Полнотекстовое индексирование неприемлимо, т.к. осуществляется поиск не слова целиком, а подстроки.
>
> Я бы так и использовал tinytext, но при сложных запросах с объединением нескольких таблиц и сортировкой результата приводят к тому, что MySQL при своей работе создаёт временные таблицы, причём ввиду использования tinytext (aka tinyblob), он создает временные таблицы не в памяти, а на диске :(
>
> Посоветуйте как быть в такой ситуации...
>
> P.S. я понимаю то что для text/blob, mediumtext/mediumblob, etc создаются временные таблицы на диске (могут сожрать очень много места). Но почему для tinytext/tinyblob нельзя использовать heap?...
>


From: CD - 13/10/2004 - 10:07:36
Subject:размер tmp_table_size достаточно большой
-----------------
чтобы не делать временных таблиц на диске


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
17791



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |