Size: a a a

Чат конференции HighLoad++

2020 February 25

AT

Al T in Чат конференции HighLoad++
у вас прям unreasonable expectations Иван ))
источник

d

drrtuy in Чат конференции HighLoad++
Maxim
Всем привет. После перехода на MySQL 8 сильно медленно работают вставки. Скрипт импорта CSV 15 000 товаров выполняется 20 минут. Бинлог выключил. Куда копать?
А на чем скрипт импорта работает: INSERT или LOAD DATA INFILE?
источник

I

Ivan in Чат конференции HighLoad++
у меня похожий был случай недавно  - завел новый сервер а конфиги дефолтные поправить забыл
источник

M

Maxim in Чат конференции HighLoad++
drrtuy
А на чем скрипт импорта работает: INSERT или LOAD DATA INFILE?
Вообще это закодированный модуль, но если лог запросов в движке включить идет например SELECT, DELETE, штук 5 INSERT, и так на каждый товар.
источник

M

Maxim in Чат конференции HighLoad++
Al T
ну скорее innodb_buffer_pool_size
если у вас innodb конечно
5 гб стоит.
источник

AT

Al T in Чат конференции HighLoad++
ну 5 гб наверно ок конечно но зависит от размера табличек. если у вас есть конкретные селекты попробуйте выполнить explain select и кинуть вывод сюда
источник

P

Pavel in Чат конференции HighLoad++
А с чем сравниваем то? Сколько было на другой версии? Isolation level одинаковый стоит?
источник

M

Maxim in Чат конференции HighLoad++
На моем дев компьютере MySQL 5.7 импорт занимает 2 минуты (конфиг вообще без настроек). У клиента на выделенном сервере 20 минут.
источник

AT

Al T in Чат конференции HighLoad++
а размер табличек у вас и у клиента одинаковый или вы в пустую базу вставляете локально
источник

M

Maxim in Чат конференции HighLoad++
Запросы такого типа:
SELECT product_id FROM oc_product WHERE product_id = '688' LIMIT 1

DELETE FROM oc_product_special WHERE product_id = '688'

INSERT INTO oc_product_special
   SET product_id = '688',
   customer_group_id = '8',
   priority = '0',
   price = '6.96',
   date_start = '0000-00-00',
   date_end = '0000-00-00'

INSERT INTO oc_product_special
   SET product_id = '688',
   customer_group_id = '6',
   priority = '0',
   price = '9.28',
   date_start = '0000-00-00',
   date_end = '0000-00-00'

UPDATE oc_product SET  date_modified = NOW() WHERE product_id = '688'
источник

M

Maxim in Чат конференции HighLoad++
База не 1 в 1 конечно, но не намного больше у него
источник

AT

Al T in Чат конференции HighLoad++
innodb_flush_log_at_trx_commit поставьте в 0 если он у вас 1
источник

M

Maxim in Чат конференции HighLoad++
1 стоит.
источник

AT

Al T in Чат конференции HighLoad++
щас меня тапками бородатые админы закидают - поэтому как прочитаете - на бумажку запишите и съешьте ))
источник

AT

Al T in Чат конференции HighLoad++
поставьте в ноль
источник

AT

Al T in Чат конференции HighLoad++
а то инсертов у вас много и апдейтов тоже... если у вас у клиента большая нагрузка селектов идет в таблички то скорее всего локи происходят во время делитов и апдейтов
источник

M

Maxim in Чат конференции HighLoad++
А 2 можно поставить?
источник

AT

Al T in Чат конференции HighLoad++
можно
источник

AT

Al T in Чат конференции HighLoad++
все лучше чем 1 ))
источник

M

Maxim in Чат конференции HighLoad++
За 15 секунд отработало!!!
источник