Первый запрос в базу длится 2 секунды, а последующие 30 секунд, как?
Составил запрос в бд на laravel, все выводит нормально, но внимание вопрос
* Запускаю openserver, делаю запрос, всё ок 2сек., обновляю - запрос длится 30 сек и так все последующие
делаю рестарт сервера и всё сначала
apache 2.4
php 7.3
mysql 8.0
Антон Антон, 500k записей
select * from `b_iblock_element`
right join `b_iblock_element_prop_s12` as `props`
on
`b_iblock_element`.`ID` = `props`.`IBLOCK_ELEMENT_ID`
where `ACTIVE` = 'Y'
and (`props`.`PROPERTY_145` <> 'travelling' or `props`.`PROPERTY_145` is null)
and `props`.`PROPERTY_99` in (222) and `props`.`PROPERTY_139` not in (1111, 2222)
and `props`.`PROPERTY_500` is not null
and `IBLOCK_ID` = 123;
shurshur, При кэшировании мы бы видели совершенно обратную картину - первый запрос бы тормозил, а второй бы выполнялся мгновенно.
Все телодвижения по тыканью палкой в рандомные места, описанные выше, абсолютно бесполезны без понимания что происходит. Для этого нужен експлэйн, смотреть индексы, смотреть память выделенную под запрос... Короче перестать маяться хренью и начать разбираться в проблеме по шагам.
hewpew, 500К в итоговой или 500К в b_iblock_element которые превращаются в 500 000 * соотвествия из b_iblock_element_prop_s12 ?
Ну и учитывая, что right join важно сколько в b_iblock_element_prop_s12
За сколько ты подвязался в таск, где надо решить проблему с таким убогим кодом, который нельзя менять?:)
vism, 600к после джоина, в результате 1.5к, в b_iblock_element_prop_s12 500k,
да блин просто интересно почему один и тот же запрос с такой разницей по времени выполняется