curious, есть гораздо лучше вариант, чем предложенный вами.
Хотя нет, даже не так, можешь мне в личку скинуть полный вариант того что ты хотел сказать ТС?
_____________
Стимулятор ~yoomoney - 41001303250491
Valick, что бы быстрее найти решение проблемы, вдруг кто сталкивался.
И да данная процедура на 95 записях выполняется на одном (проблемном сервере) 22-30 секунд, у меня на локальном 0.6 секунды, записей больше 120. Конфиги сравнивал построчно, отличий существенных нет.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
kaww, ок сейчас посмотрю.
Посмотрел, таблица не сломана, движок InnoDB
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 7.12.2015 - 14:56) |
Еще раз, не надо учить меня писать код, я это делать умею не хуже вас. |
ой пропустил...
тут могу сказать только буга-га-га-га
тема реально продолжение file_get_content
_____________
Стимулятор ~yoomoney - 41001303250491
$timestart = microtime(true);
$sql = "SELECT id FROM opportunities AS o WHERE o.date_entered > '2015-12-07 06:00:00' AND o.deleted = 0";
$rows = dbGetArray($sql);
foreach ($rows as $row) {
$sql = "UPDATE opportunities AS o SET o.deleted = 0 WHERE o.id = " . dbQuote($row['id']);
dbExecute($sql);
}
echo microtime(true) - $timestart;
бугага номер раз
$sql = "UPDATE opportunities SET deleted = 0 WHERE date_entered > '2015-12-07 06:00:00' AND deleted = 0";
бугага номер два
SET deleted = 0
WHERE deleted = 0
_____________
Стимулятор ~yoomoney - 41001303250491
Valick, закрываю для тебя тему, ответа как я понял ты не знаешь.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
да знает он ответ судя по его сообщениям. судя по всему вы его не понимаете.
на месте вашего работодателя я бы вас уволил.
depp, ты почитай мои сообщения, посмотри что в них написано, в циферки повглядывайся, а потом уже воняй, великий увольнитель мля.
Проблема есть и буду рад предложениям как ее решить.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
В своём стиле, парень то с Урала
_____________
Принимаю заказы, писать в ЛС
Цитата (Valick @ 7.12.2015 - 13:00) |
бугага номер два |
ну, как бы chee указал, что это синтетический пример. А так да, эти конкретные запросы фактически никаких данных не меняют.
chee, транзакция тоже не решила проблему?
kaww, ну это просто не решение проблемы, задача как мне кажется должна решать без правки кода, а транзакция на сколько я понимаю, это все таки правка кода.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 7.12.2015 - 14:22) |
задача как мне кажется должна решать без правки кода |
А что если это не так? В любом случае нужно проверять все варианты, если не удается идентифицировать проблему иначе. А там уже смотреть, как применять решение в контексте непосредственно шугар црм, или что там у тебя.
З.Ы. может что подскажет show profile
Автор темы решил потролить
Ответ настолько очевидет и уже был уопомянут свыше.
sergeiss
7.12.2015 - 22:47
Цитата (chee @ 7.12.2015 - 15:26) |
Выполняю один простейший запрос на обновление записи в БД, все проходит быстро. |
Чему равно "быстро"? 1/3 секунды - это быстро?
Цитата (chee @ 7.12.2015 - 15:26) |
Начинаю выполнять 90 штук друг за другом, выходит около 30 секунд. |
Тут, в среднем, как раз около 1/3 секунды на запрос. Очень долго! Хотя, когда всего один запрос, это может показаться и быстрым.
И да, правильный ответ в теме уже есть

Всё можно сделать одним запросом. Ответ - на первой странице. Как именно ты его впихнешь в свою систему - это уже твоя задача.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
sergeiss, это не правильный ответ, по нескольким причинам.
Первое, это код вендора, его нельзя изменять, иначе можно огрести при обновлении, нихило. Второе, это неправильное решение, так как явно видно что проблема кроется где-то в другом месте, и решать проблему таким способом является попыткой бегства от проблемы, а не ёё решением.
Ну и вот недавно, выполни снова тестовый скриптик с вышеупомянутым скриптом и почему то он отработал меньше чем за секунду. Короче это еще больше убеждает меня в какой-то аномалии, либо где-то что-то нагружает БД, либо кто-то что сделал, что проблема решилась.
И еще вроде бы все квалифицированные спецы, а такую ахинею советуете, только kaww хоть как то пытается помочь, а остальные как в анекдоте про многоэтажку. Я удивляюсь как можно игнорировать цифры и нести бред про один запрос. Это же - БРЕД. Ну понятно же что здесь не проблема в количестве запросов, проблема в чем-то другом. У меня бомбит, я весь пылаю

Анекдот:
Цитата |
Если бы сисадмины работали в МЧС: - Алло! Приезжайте, здесь жёлтая двенадцатиэтажка горит! - Ну, не знаю, у меня напротив такая же жёлтая двенадцатиэтажка, и она не горит. |
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.