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




MySQL.RU - Webboard



Вернуться
Зависание запроса при FULLTEXT поиске (Alexey_) 29/06/2006 - 09:29:56
      Re: Зависание запроса при FULLTEXT поиске (Dinky) 29/06/2006 - 19:54:39
      Re: Зависание запроса при FULLTEXT поиске (Alexey_) 30/06/2006 - 09:54:55
      Re: Зависание запроса при FULLTEXT поиске (Dinky) 30/06/2006 - 17:23:01

> Original message text:
> From: Alexey_ - 29/06/2006 - 09:29:56
> Subject:Зависание запроса при FULLTEXT поиске
> -----------------
> Таблица объявлений ad вяжется с таблицей статусов adn.
> 40 = статус опубликованного объявления.
>
> SELECT *
> FROM ad inner join adn on ad.id=adn.ad_id where adn.state=40
>
> 0.09 сек.
>
> Полнотекстовый поиск по слову "ауди".
>
> select * from ad where MATCH (txt,phone,strt,marka) AGAINST ('ауди')>4
>
> 0.03 сек.
>
> Добавляем условие полнотекстового поиска в первый запрос:
>
> SELECT *
> FROM ad inner join adn on ad.id=adn.ad_id where adn.state=40
> AND MATCH (txt,phone,strt,marka) AGAINST ('ауди')>4
>
> Запрос повисает. Процессорное время жрется на ура. Приходится убивать его thread.
>
> Для полей txt,phone,strt,marka установлен FULLTEXT index.
>
>
>
>
>
>
>
>


From: Alexey_ - 30/06/2006 - 09:54:55
Subject:Зависание запроса при FULLTEXT поиске
-----------------
explain SELECT *
FROM ad inner join adn on ad.id=adn.ad_id where MATCH (txt,marka,phone,strt) AGAINST ('блондинка') AND adn.state=40

Версия 5.0

+----+-------------+--------+----------+---------------+--------+---------+--------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+----------+---------------+--------+---------+--------+--------+-------------+
| 1 | SIMPLE | ad | fulltext | PRIMARY,f1 | f1 | 0 | | 1 | Using where |
| 1 | SIMPLE | adn | ALL | [NULL] | [NULL] | [NULL] | [NULL] | 457868 | Using where |
+----+-------------+--------+----------+---------------+--------+---------+--------+--------+-------------+

Слишком много строк, да? Странно.


SELECT count(*)
FROM ad inner join adn on ad.id=adn.ad_id where txt like '%блондинка%' AND adn.state=40

3.44 сек. 363 строки.



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

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

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



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