|
MySQL.RU - Webboard
Вернуться
Зависание запроса Select (Виктор Казаков) 12/08/2014 - 16:22:20
Re: Зависание запроса Select (Akina) 12/08/2014 - 20:43:49
Re: Зависание запроса Select (Виктор Казаков) 13/08/2014 - 10:14:42
Re: Зависание запроса Select (Виктор Казаков) 14/08/2014 - 08:43:43
Re: Зависание запроса Select (Виктор Казаков) 14/08/2014 - 09:02:34
> Original message text:
> From: Виктор Казаков - 12/08/2014 - 16:22:20
> Subject:Зависание запроса Select
> -----------------
> Имеется запрос из нескольких таблиц. Запрос должен получать сведения об экспонате коллекции плюс дополнительные данные для вызова других экспонатов данной категории. Предыдущий, последующий, категорию, а также информацию из связанных таблиц. Пока база была маленькой всё работало нормально, как только достигла 475 записей часть запросов стала приводить к зависанию.
> Подозреваю, что часть экспонатов заполнены неверно.
> Как можно решить данную проблему?
>
> SELECT id_item, name_category_ru,category_id, name_ru, size, age, registration, description_ru, photo, (SELECT min(id_item) FROM muse_item WHERE id_item > 24) AS nextRow, (SELECT max(id_item) FROM muse_item WHERE id_item < 24) AS prevRow, (SELECT min(id_item) FROM muse_item) AS minRow, (SELECT max(id_item) FROM muse_item) AS maxRow, (SELECT GROUP_CONCAT(name_autor_ru) FROM muse_item_autor, muse_autor WHERE item_id_autor = 24 AND id_autor = autor_id) AS itemAutor, (SELECT GROUP_CONCAT(name_material_ru) FROM muse_item_mater, muse_material WHERE item_id_mater = 24 AND id_material = mater_id) AS itemMaterial, (SELECT GROUP_CONCAT(name_tehnica_ru) FROM muse_item_tehnica, muse_tehnica WHERE item_id_tehnica = 24 AND id_tehnica = tehnica_id) AS itemTehnica FROM muse_item, muse_category, muse_autor, muse_item_autor, muse_material, muse_item_mater, muse_tehnica, muse_item_tehnica WHERE category_id = id_category AND id_item =24 LIMIT 1
>
From: Виктор Казаков - 14/08/2014 - 08:43:43
Subject:Зависание запроса Select
-----------------
А вот это запрос который не зависает
SQL-запрос
SQL-запрос:
EXPLAINSELECT id_item, name_category_ru, category_id, name_ru, size, age, registration, description_ru, photo, (
SELECT min( id_item )
FROM muse_item
WHERE id_item >400
) AS nextRow, (
SELECT max( id_item )
FROM muse_item
WHERE id_item <400
) AS prevRow, (
SELECT min( id_item )
FROM muse_item
) AS minRow, (
SELECT max( id_item )
FROM muse_item
) AS maxRow, (
SELECT GROUP_CONCAT( name_autor_ru )
FROM muse_item_autor, muse_autor
WHERE item_id_autor =400
AND id_autor = autor_id
) AS itemAutor, (
SELECT GROUP_CONCAT( name_material_ru )
FROM muse_item_mater, muse_material
WHERE item_id_mater =400
AND id_material = mater_id
) AS itemMaterial, (
SELECT GROUP_CONCAT( name_tehnica_ru )
FROM muse_item_tehnica, muse_tehnica
WHERE item_id_tehnica =400
AND id_tehnica = tehnica_id
) AS itemTehnica
FROM muse_item, muse_category, muse_autor, muse_item_autor, muse_material, muse_item_mater, muse_tehnica, muse_item_tehnica
WHERE category_id = id_category
AND id_item =400
LIMIT 1
[Правка] [Прекратить описание SQL] [Создать PHP-код]
id
select_type
table
type
possible_keys
key
key_len
ref
rows
Extra
1
PRIMARY
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Impossible WHERE noticed after reading const table...
8
SUBQUERY
muse_item_tehnica
ALL
NULL
NULL
NULL
NULL
251
Using where
8
SUBQUERY
muse_tehnica
ref
id_material
id_material
4
BS3.muse_item_tehnica.tehnica_id
6
7
SUBQUERY
muse_item_mater
ALL
NULL
NULL
NULL
NULL
657
Using where
7
SUBQUERY
muse_material
ref
id_material
id_material
4
BS3.muse_item_mater.mater_id
7
6
SUBQUERY
muse_item_autor
ALL
NULL
NULL
NULL
NULL
234
Using where
6
SUBQUERY
muse_autor
ref
id_autor
id_autor
4
BS3.muse_item_autor.autor_id
12
5
SUBQUERY
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Select tables optimized away
4
SUBQUERY
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Select tables optimized away
3
SUBQUERY
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Select tables optimized away
2
SUBQUERY
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Select tables optimized away
--------------------------------------------------------------------------------
Версия для печати Распечатать (со всем текстом)
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
43173
|
|