Size: a a a

Laravel для начинающих

2021 October 09

Մ

Մ֊կրտչյան in Laravel для начинающих
смотри,у меня задача такая,в бд есть больше 2 милиона данные,и я каждый день должен добавлять еще 100к данные,половина из этих данных будут повтарится,надо только уникальные добавить,я до этого сделал firstOrCreate,и по одному импортировал,но процесс длилса   больше 3 час((( для этого,чтобы уменшить время ,хочу собрать в массив и добавить по 50 штук в одном запросе
источник

SG

Sergey Gerasimov in Laravel для начинающих
А добавлять какие-то конкретные данные откуда-то берешь?
источник

SG

Sergey Gerasimov in Laravel для начинающих
И как понять что это повторная или нет - там по одному, двум полям? По всем полям?
источник

🌴

🌴HermanSochi in Laravel для начинающих
on dublicate update если есть уникальное поле
источник

SG

Sergey Gerasimov in Laravel для начинающих
1 поле?
источник

🌴

🌴HermanSochi in Laravel для начинающих
Ну и не юзать ORM если такие обьемы
источник

Մ

Մ֊կրտչյան in Laravel для начинающих
да сервис есть плоха работаюшая)) оттуда беру) и вставляю в мою базу ,по однаму
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ааа, это вопрос был))
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну ты объясни как вставляешь, по какому принципу
источник

SG

Sergey Gerasimov in Laravel для начинающих
Пока не понятно как тебе помощь можно
источник

Е

Евгений in Laravel для начинающих
источник

Е

Евгений in Laravel для начинающих
The insertOrIgnore method will ignore errors while inserting records into the database: - если тип поля уникальный - может прокатить))
источник

SG

Sergey Gerasimov in Laravel для начинающих
Не отвлекайте его =)) Пусть ответит нормально
источник

Е

Евгений in Laravel для начинающих
ок))) но я бы при таких объемах забил бы на Eloquent и спустился до уровня сырых запросов))
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну пока не понятно как он понимает что это дубль
источник

SG

Sergey Gerasimov in Laravel для начинающих
Одно дело - некое уникальное поле и всякие on update nothing и тп, и то скорее выборка по этому полю и добавление уже готовых данных выглядит перспективнее
источник

SG

Sergey Gerasimov in Laravel для начинающих
А другое дело поиск по всем данным, тут уже мало что можно придумать, опять же смотря какая СУБД еще, например сравнение по row, кортежи на посгре неплохо заходят
источник

Մ

Մ֊կրտչյան in Laravel для начинающих
довай на примере покажу))
в базе есть такие данные
test и test1,и я хочу импортировать сразу несколько  данные в виде массив но так,чтобы они не повтарялись,то есть не было еще test и test 1

insert([
["test3"],
["test2"],
["test1"],
])
из этих добавилось толка test3 и test2
но с ларавелом,а не прямым запросом sql
источник

D

DK in Laravel для начинающих
источник

SG

Sergey Gerasimov in Laravel для начинающих
Понятнее не стало, повангуем…

Ну у тебя есть данные - ты можешь сделать запрос на обычную выборку по этим данным и удалить из массива всё, что уже было добавлено ранее?

Например: SELECT column FROM table WHERE column IN (‘test1’, ‘test2’, ‘test3’)?

Тебе вернется, например, 2 записи - test1 и test2 ты их удалишь из массива и сделаешь уже: INSERT INTO table(column) VALUES (‘test3’)
источник