3к строк, сама строчка upsert'a отрабатывает за 3.6 секунды, хотя сам запрос на вставку выполняется за 259мс
как ты строчку upsert'a замерял?
Через microtime
ну покажи
Никто не спросил - сколько у тебя там записей? Если много, то может на чанки разбивать
3тыс элементов загоняю
upsert это всегда расточительно. он же проходится по всем записям или индексу, что бы чекнуть существует запись или нет
Так проверку и вставку берет на себя БД, в моем случае это MySql и ресолвится это все с помощью ON DUPLICATE KEY, разве не так? А задача upserta создать этот запрос
ты о чем? я о самом запросе
А, не так понял видимо, я подумал именно про сам метод upsert'a
0.3 секунды это медленно на 3к записей, для работы через web интерфейс вроде как ничего
А как можно сделать еще быстрее? Просто планируется постоянные вставки/апдейта большого кол-во строк, это время выполнения на пустую таблицу с уникальным индексом на два поля
перенести в очереди, а пользователю вывести статус обработки запроса, какой бы мощный не был сервер, когда выйдете на нагрузку все равно к этому придете
Обсуждают сегодня