powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос идет очень долго
30 сообщений из 30, показаны все 2 страниц
Запрос идет очень долго
    #39028333
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть БД, и я строю такой запрос
авторSELECT
count(kt.id)
FROM
b.tovar as vt
JOIN
b.tl AS btd ON btd.id_k=vt.id
JOIN
tecd.LAG AS tlag ON tlag.LA_ID=btd.a_id
JOIN
tecd.LGA_STR AS tlgs ON tlgs.LG_ID=tlag.LG_ID
WHERE
tlgs.LS_ID=1
идет он очень долго, но есть и другие запросы, они в 10 раз бистрее работают. Может подскажете в чем причина?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028345
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да он у тебя вообще не должен выполняться - у тебя нет в источнике данных таблицы kt.
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028357
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправил, все равно долго
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT
count(vt.id)
FROM
b.tovar as vt
JOIN
b.tl AS btd ON btd.id_k=vt.id
JOIN
tecd.LAG AS tlag ON tlag.LA_ID=btd.a_id
JOIN
tecd.LGA_STR AS tlgs ON tlgs.LG_ID=tlag.LG_ID
WHERE
tlgs.LS_ID=1
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028358
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
даже если ставлю limit 10 очень долго идет
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028364
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
count сколько в итоге возвращает?
определения таблиц где?
explain запроса покажи
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028377
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с лимитом 10 вообше 226,
explain
'1', 'SIMPLE', 'tlg', 'ref', 'PRIMARY', 'PRIMARY', '4', 'const', '1', 'Using index; Using temporary'
'1', 'SIMPLE', 'vt', 'index', 'PRIMARY,IX_ktovar_info_b,IX_tovar_clear_proizvod,tovar_proizvod', 'IX_ktovar_info_base', '5', NULL, '9937726', 'Using index; Using join buffer (Block Nested Loop)'
'1', 'SIMPLE', 'btd', 'eq_ref', 'PRIMARY', 'PRIMARY', '12', 'b.vt.id,const', '1', 'Distinct'
'1', 'SIMPLE', 'tla', 'eq_ref', 'PRIMARY,LAG_GA_ID', 'PRIMARY', '8', 'b.btd.a_id,tecd.tlg.LGS_GA_ID', '1', 'Using where; Using index; Distinct'

а определения таблиц это тыпу что?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028394
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94explainот какого запроса? куда делась таблица tlgs?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028410
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
незнаю, вот например делаю запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
EXPLAIN SELECT kt.id FROM
            b.tvar AS kt
                JOIN
            b.tl AS btd ON btd.id_kt=kt.id
            AND btd.cat_id=201304
                 JOIN
            L_A_G AS tla on tla.L_A_ID=btd.a_id
                 join
            L_G_STR as tlg on tlg.L_G_ID=tla.L_G_ID
                where
            tlg.L_STR_ID=10828 limit 25



EXPLAIN

автор'1', 'SIMPLE', 'tlgs', 'ref', 'PRIMARY', 'PRIMARY', '4', 'const', '1', 'Using index'
'1', 'SIMPLE', 'kt', 'index', 'PRIMARY', 'IX_kt_info_b', '5', NULL, '9937726', 'Using index; Using join buffer (Block Nested Loop)'
'1', 'SIMPLE', 'btd', 'eq_ref', 'PRIMARY', 'PRIMARY', '12', 'b.kt.id,const', '1', 'Using where'
'1', 'SIMPLE', 'tlag', 'eq_ref', 'PRIMARY,L_G_ID', 'PRIMARY', '8', 'base.btd.a_id,tlg.LGS_GA_ID', '1', 'Using where; Using index'
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028424
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94вот например делаю запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
EXPLAIN SELECT kt.id FROM
            b.tvar AS kt
                JOIN
            b.tl AS btd ON btd.id_kt=kt.id
            AND btd.cat_id=201304
                 JOIN
            L_A_G AS tla on tla.L_A_ID=btd.a_id
                 join
            L_G_STR as tlg on tlg.L_G_ID=tla.L_G_ID
                where
            tlg.L_STR_ID=10828 limit 25

Вот только это совсем не тот запрос.
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028429
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94 , запустите консольный клиент, выполните в нём команды:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SHOW CREATE TABLE b.tvar;
SHOW CREATE TABLE b.tl;
SHOW CREATE TABLE l_a_g;
SHOW CREATE TABLE l_g_str;
EXPLAIN SELECT kt.id 
FROM b.tvar AS kt
JOIN b.tl AS btd ON btd.id_kt=kt.id AND btd.cat_id=201304
JOIN l_a_g AS tla ON tla.L_A_ID=btd.a_id
join l_g_str AS tlg ON tlg.L_G_ID=tla.L_G_ID
where tlg.L_STR_ID=10828;



и выложите сюда полный копипаст в теге [SRC].
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028444
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и так видно что на на tvar ну и название адекватного индекса нет
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028447
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну как, вот еще например. Подскажите, может неправильно составил запрос, почему долго очень
авторexplain select kt.id from
base.ktovar as kt
join
base.tecdoc_link as btd ON btd.id_ktovar=kt.id
and btd.catalog_id=201304
join
LINK_ART_GA as tla on tla.LAG_ART_ID=btd.article_id
join
LINK_GA_STR as tlg on tlg.LGS_GA_ID=tla.LAG_GA_ID
where
tlg.LGS_STR_ID=10828 limit 25


автор'1', 'SIMPLE', 'tlg', 'ref', 'PRIMARY', 'PRIMARY', '4', 'const', '1', 'Using index'
'1', 'SIMPLE', 'kt', 'index', 'PRIMARY', 'IX_ktovar_info_base', '5', NULL, '9937726', 'Using index; Using join buffer (Block Nested Loop)'
'1', 'SIMPLE', 'btd', 'eq_ref', 'PRIMARY', 'PRIMARY', '12', 'base.kt.id,const', '1', 'Using where'
'1', 'SIMPLE', 'tla', 'eq_ref', 'PRIMARY,LAG_GA_ID', 'PRIMARY', '8', 'base.btd.article_id,tlg.LGS_GA_ID', '1', 'Using where; Using index'
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028467
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
 show create table ktovar


покажи результат
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028481
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ktovar CREATE TABLE `ktovar` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`kod` varchar(100) DEFAULT NULL,
`proizvod` varchar(50) DEFAULT NULL,
`descr` varchar(255) DEFAULT NULL,
`clearkod` varchar(100) DEFAULT NULL,
`tovar_type` tinyint(4) DEFAULT NULL,
`tovar_tip` tinyint(4) DEFAULT NULL,
`info_base` int(11) DEFAULT NULL,
`internalKod` varchar(100) DEFAULT NULL,
`proizvod_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `IX_ktovar_info_base` (`info_base`),
KEY `IX_ktovar_clear_proizvod` (`clearkod`,`proizvod`),
KEY `ktovar_proizvod` (`proizvod`)
) ENGINE=InnoDB AUTO_INCREMENT=18219985 DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=173
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028493
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо индекс на tecdoc_link по полю id_ktovar
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028499
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
id_ktovar тоесть оно?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028509
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94id_ktovar тоесть оно?
?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028510
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я не понимаю что надо?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028517
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
create index on tecdoc_link(id_ktovar)
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028528
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка ругаеться на on
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028539
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
create index xxxxxxx on tecdoc_link(id_ktovar)
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028562
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
база зависла. Скажите в чем проблема?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028568
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94база зависла. Скажите в чем проблема?
индекс делает,
погодь маленько, покури
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028572
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а зачем этот индекс?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028577
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтоб при связке таблиц не было такого безобразия
Код: sql
1.
'1', 'SIMPLE', 'kt', 'index', 'PRIMARY', 'IX_ktovar_info_base', '5', NULL, '9937726', 'Using index; Using join buffer (Block Nested Loop)'


это он 1 млн записей сканирует при связывании
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028579
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы запрос быстрее выполнялся
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028594
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkovчтоб при связке таблиц не было такого безобразия
Код: sql
1.
'1', 'SIMPLE', 'kt', 'index', 'PRIMARY', 'IX_ktovar_info_base', '5', NULL, '9937726', 'Using index; Using join buffer (Block Nested Loop)'


это он 1 млн записей сканирует при связывании
вернее почти 10млн
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028638
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вот другие запросы все отлично за пару сек делало без индекса?
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028648
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha94а вот другие запросы все отлично за пару сек делало без индекса?
хватало существующих
...
Рейтинг: 0 / 0
Запрос идет очень долго
    #39028726
Miha94
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сколько еще ждать, у меня таблица уже не доступна несколько часов, что делать?
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос идет очень долго
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]