Size: a a a

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

2021 February 03

И

Игорь in Laravel для начинающих
Tim
Парни, дайте экспертное мнение
У меня задача - поставить 4млн джобов на парс
Есть 14000 вариантов машин и 278 вариантов запчастей

Я делаю джоб, который генерит эти джобы на парс

Внутри этого джоба есть обращение к бд, чтоб определить ID конкретного сочетания - год + марка + машина и эта хрень оч сильно тормозит скрипт, как бы вы поступили?
я как-то покупал базу данных запчастей TECDOC. Там загрузка в БД занимала много времени (полчаса а то и больше) - сотни тысяч запчастей. Но выборка за доли секунды была (были готовые скрипты с индексами)
источник

EG

Egor Gruzdev in Laravel для начинающих
Tim
я вот думаю, а можно ли взять 1 раз модель целиком и передать в джоб чтоб там уже как-то из нее брало а не из бд
она в любом случае при unsterilized Job будет вытягивать модель по id
источник

T

Tim in Laravel для начинающих
Egor Gruzdev
она в любом случае при unsterilized Job будет вытягивать модель по id
т.е ниче не сделать ?
источник

Y

YourPersonalGradeOfH... in Laravel для начинающих
Tim
т.е ниче не сделать ?
А сколько времени запрос этот занимает то?
источник

T

Tim in Laravel для начинающих
YourPersonalGradeOfHeroin
А сколько времени запрос этот занимает то?
хз сколько запрос занимает, не знаю как проверить, но создание всех джобов потом занимает около получаса
источник

T

Tim in Laravel для начинающих
YourPersonalGradeOfHeroin
А сколько времени запрос этот занимает то?
в 100 потоков
источник

СД

Смышляев Даниил... in Laravel для начинающих
Парни кто-то пользовался данной приблудой https://github.com/mohammad-fouladgar/eloquent-builder?
источник
2021 February 04

Y

YourPersonalGradeOfH... in Laravel для начинающих
Tim
хз сколько запрос занимает, не знаю как проверить, но создание всех джобов потом занимает около получаса
Ну на самом деле 3 where должны бы отдавать довольно быстро с индексами. Поэтому я и спросил
источник

T

Tim in Laravel для начинающих
YourPersonalGradeOfHeroin
Ну на самом деле 3 where должны бы отдавать довольно быстро с индексами. Поэтому я и спросил
Ну когда дебажил - на этом этапе примерно 0.5 сек было
источник

T

Tim in Laravel для начинающих
Видел на демиарте статью про оптимизацию бд- пойду читать мб чему обучат)
источник

Y

YourPersonalGradeOfH... in Laravel для начинающих
Tim
Ну когда дебажил - на этом этапе примерно 0.5 сек было
Ну это вроде нормальный показатель. В твоем случае ещё можешь DB фасад попробовать
источник

T

Tim in Laravel для начинающих
YourPersonalGradeOfHeroin
Ну это вроде нормальный показатель. В твоем случае ещё можешь DB фасад попробовать
А чо он быстрей?
источник

Y

YourPersonalGradeOfH... in Laravel для начинающих
Ну иногда немного шустрей
источник

T

Tim in Laravel для начинающих
YourPersonalGradeOfHeroin
Ну иногда немного шустрей
Понял, спс попробую
источник

EG

Egor Gruzdev in Laravel для начинающих
Tim
А чо он быстрей?
на выборку одной колонки как у тебя, не повлиять на скорость, что DB, что через модель
источник

Y

YourPersonalGradeOfH... in Laravel для начинающих
Tim
Понял, спс попробую
Ну и если тебе на тех колонках не нужна сортировка то можешь попробовать накинуть hash индекс. Он пошустрее на сравнении
источник

EG

Egor Gruzdev in Laravel для начинающих
а вот индекс хоятбы на модель я бы поставил или составной модель_год
источник

T

Tim in Laravel для начинающих
Egor Gruzdev
а вот индекс хоятбы на модель я бы поставил или составной модель_год
У меня на каждой колонке по индексу
источник

Y

YourPersonalGradeOfH... in Laravel для начинающих
Egor Gruzdev
а вот индекс хоятбы на модель я бы поставил или составной модель_год
Бд умеет брать много индексов
источник

T

Tim in Laravel для начинающих
А если хранить эту табличку в редисе?
источник