FrancisDarroze

Рейтинг
71
Регистрация
12.05.2017
livetv #:

1. Покажите EXPLAIN

2. Вот сейчас у себя написан запрос с NOT EXISTS и с LEFT JOIN

NOT EXISTS не использовал индексов, в то время как  LEFT JOIN использовал и в Extra числилось "Not exists"

Разницы не заметили между лефт джойн и not exist. Выбор на втором варианте так как данные из второй таблицы нам не нужны. Exlplain добавил в стартовый пост

livetv #:
Покажите EXPLAIN

id select_type table type possible_keys key key_len ref rows Extra

1 PRIMARY task ref stat_task,getlist,getlist_bot getlist_bot 6 const,const,const,const 8731 Using index condition; Using where

LEOnidUKG #:

Вставки идут как? Есть ещё предположения, что индексы пересчитываются и делать вставки надо через COMMIT, если они групповые.

инсерты идут каждый запрос, сначала основной селект, по результатам его инсерт в таскфлоу

LEOnidUKG #:
Вообще конечно задачка интересная т.к. нужно и железо смотреть и настройки и версию mysql и т.д.

железо - 2 слейва с которых читаем, достаточно серьезные

SmartSEO #:

Я бы рекомендовал отказаться от текстовых индексов и заменить их цифровыми, если это возможно.

Т.е. вместо active и deactive использовать 0 и 1, вместо insta, vk, fb использовать 1,2,3 итд.

Также можно попробовать создать индексы по двум (или более) полям, если есть такие сочетания, которые встречаются очень часто. Например 

если в большинстве запросов status = active и type = follow_profile, то создать совместный индекс по ним и посмотреть на результаты.

Также если БД Myisam, то перейти на Innodb

Task ( status, type, provider, cat )
TaskFlow (executor_acc_id, url_id )

составные индексы созданы по всем полям

LEOnidUKG #:
У вас таблицы похоже в  Myisam из-за этого идёт блокировка таблицы при записи.

innodb

SmartSEO #:

Я бы рекомендовал отказаться от текстовых индексов и заменить их цифровыми, если это возможно.

Т.е. вместо active и deactive использовать 0 и 1, вместо insta, vk, fb использовать 1,2,3 итд.

Также можно попробовать создать индексы по двум (или более) полям, если есть такие сочетания, которые встречаются очень часто. Например 

если в большинстве запросов status = active и type = follow_profile, то создать совместный индекс по ним и посмотреть на результаты.

Также если БД Myisam, то перейти на Innodb

Тип полня этих таблиц ENUM

Vladimir SEO #:
он так делает иногда, а дескрипшн бывает заменяет на части текста со страницы

Первый раз такое вижу, по топ 1 вч

mirkat #:

У вас он точно не изменён? А то мы как только что-то случается (я по себе сужу). Сразу глаза на выдачу вылупляем. 

Гугл поменял тайтл на вч ключ, и убрал вообще discription

Strannik64 #:
качество ссылок возможно плохое

Да неплохое, а где нынче ссылки то качественные брать?

Всего: 296