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




MySQL.RU - Webboard



Вернуться
Оптимизация LIKE "%pattern%" (Andy) 05/02/2007 - 16:49:47
      Re: Оптимизация LIKE (Nick) 06/02/2007 - 10:01:22

> Original message text:
> From: Andy - 05/02/2007 - 16:49:47
> Subject:Оптимизация LIKE "%pattern%"
> -----------------
> Собссна запрос -
> SELECT
> d.*, u.login
> FROM
> users u
> INNER JOIN userDetails d ON d.userId=u.id
> LEFT JOIN ut_userTypes ut ON ut.id=u.utype
> LEFT JOIN item2tags i2t ON u.id = i2t.userId AND i2t.itemType=14
> LEFT JOIN itemTags it ON i2t.tagId = it.id AND it.itemType=14
> WHERE
> (d.about LIKE "%qwe%" OR d.firstName LIKE "%qwe%" OR d.lastName LIKE "%qwe%" OR d.peopleLikeToMeet LIKE "%qwe%" OR d.prefferedEmail LIKE "%qwe%" OR
> d.AIM LIKE "%qwe%" OR d.MSN LIKE "%qwe%" OR d.sqype LIKE "%qwe%" OR d.jabber LIKE "%qwe%" OR d.mailAddress LIKE "%qwe%" OR d.city LIKE "%qwe%" OR
> d.body_description LIKE "%qwe%" OR d.interests LIKE "%qwe%" OR d.headline LIKE "%qwe%" OR d.officialWebsite LIKE "%qwe%" OR
> d.p_aimnick LIKE "%qwe%" OR d.p_address LIKE "%qwe%" OR d.p_city LIKE "%qwe%" OR d.favoriteMusic LIKE "%qwe%" OR d.favoriteBooks LIKE "%qwe%" OR
> d.favoriteMovies LIKE "%qwe%" OR d.favoriteActors LIKE "%qwe%" OR d.favoriteTvShows LIKE "%qwe%" OR d.fav_food LIKE "%qwe%" OR
> d.favorite_locations LIKE "%qwe%" OR d.website LIKE "%qwe%" OR d.p_website LIKE "%qwe%" OR it.tag LIKE "%qwe%")
> GROUP BY
> u.id
> ORDER BY
> u.lastAccessTime DESC
>
> Интересует следующее - каким образом можно избавиться от "бесконечных" LIKE'ов в вышеприведенном запросе? На текущий момент этот запрос отрабатывает за 11 секунд на таблице userDetails в ~40к записей.
> EXPLAIN говорит, что для таблицы userDetails индексы не используются (что в принципе и следовало ожидать).
>
> Возможно, выходом из положения будет временная таблица?
>
> Заранее благодарен.
>


From: Nick - 06/02/2007 - 10:01:22
Subject:Оптимизация LIKE
-----------------
можно написать concat(...) от всего и к нему like :)


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

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

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



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