через
highLoadProduct::update() - получаю время обновляения 0.11 секунд, делаю напрямую обновление через sql запрос, то он 0.0000111. Почему так и можно как это это ускорить?
Что именно вы замеряете и как делаете sql запрос? Если прогрузку страницы, то логично что она быстрее с чистым запросом, тк нет лишнего кода
через консоль запускаю, обновление одного товара. Sql запроc вида $connection->query($sql);
прямые операции с sql вызывают только триггеры базы данных (отучился на старости лет), в битриксе идет и порождение кастомных событий и обнволение кэша страниц
есть встроенный инструмент замера времени выполнения запросов к базе, логичнее было бы сработать через него
тогда все таки, пойду дальше смотреть где то место, в котором происходить просадка
смотрите. что-то точнее узнаете о поведении системы.
честно говря, апдейты не важны для производительности системы, важно время чтобы вытащить из кэша. вы точно тем занимаетесь?
важны, мне нужно цену моментально обновлять, она лежит в отдельной таблице
а это точно вопрос скорости апдейта, а не вопрос обновления кэша?
скорости апдейта, не кэша
Эм... опять b2b-магазин?
точно? а если начальник позвонит, когда вы руку над клавиатурой занесли?
скорость апдейта может быть хоть какая в разумных пределах, а вот обновление информации на странице совсем не связано с вашим вопросом
был вопрос почему highLoadProduct::update() - медленее выполянется и как его ускорить, про страницу и ее обновление не было ничего
потому что битрикс рос тяп-ляп как и все CMS. Но есть оптимальная формула, вам (вашему заказчику) важнее точные продажи и его больше интересует скорость обновления страницы с реальными данными, а не в убыток
это логический пронцип, сформулированный еще в 12 веке и называется бритвой Оккама. Правда, наглосаксам это не свмогло помочь полететь в космос первыми, но даже логические принципы нужно подтверждать каждый день
Обсуждают сегодня