@mysql_ru

Страница 120 из 142
Nafania
16.01.2018
15:14:55
https://dev.mysql.com/doc/refman/5.5/en/show-profile.html

тоже самое на русском https://ruhighload.com/post/%D0%9A%D0%B0%D0%BA+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+SHOW+PROFILE+%D0%B2+MySQL%3F

и еще до кучи https://www.digitalocean.com/community/tutorials/how-to-use-mysql-query-profiling

Bova
16.01.2018
15:18:01
Copying to tmp table | 2.061683 |

Google
Bova
16.01.2018
15:18:09
вот это больше всего по времени

в этом: SELECT feature_value_id, COUNT(*) FROM shop_product_features pf JOIN shop_product p ON pf.product_id = p.id WHERE pf.feature_id = 4 AND pf.sku_id IS NULL AND p.status = 1 GROUP BY pf.feature_value_id;



запросы от разработчиков webasyst shopscript

Nafania
16.01.2018
15:20:15
в память не влезает временная таблица

Bova
16.01.2018
15:21:35
это он копирует в tmpdir? если так, то я выделил tmpfs для этого

Nafania
16.01.2018
15:21:37
можно переписать на использование подзапроса например, если есть возможность код править

lost
16.01.2018
15:21:44
а вы не видите, что мускуль порядок соединения таблиц поменял?

при чем тут переписать

Bova
16.01.2018
15:21:56
код нежелательно править, не я автор

lost
16.01.2018
15:22:02
переписывальщики...

Bova
16.01.2018
15:22:14
при любом обновлении изменения слетят

а вы не видите, что мускуль порядок соединения таблиц поменял?
это не потому что в таблице 'p' меньше записей?

Google
lost
16.01.2018
15:24:36
не исключено, но это не точно, как говорится ...

Nafania
16.01.2018
15:24:59
код трогать нельзя, соотв самый простой вариант это докинуть мускулю памяти

lost
16.01.2018
15:25:52
код трогать нельзя...

Bova
16.01.2018
15:26:03
innodb_buffer_pool_size = 12G innodb_log_buffer_size = 16M innodb_log_file_size = 1G

Nafania
16.01.2018
15:26:16
не

не то

tmp_table_size max_heap_table_size

вот эти надо смотреть

Bova
16.01.2018
15:26:52
max_heap_table_size = 512M tmp_table_size = 512M

интересно, как высчитать необходимый размер tmp?

если ему 512 не хватает...

lost
16.01.2018
15:28:26
а может просто запрос переписать?

а не крутить все ручки сразу

Bova
16.01.2018
15:28:58
это код плагинов shopscript от товарищей wa-apps.ru

насколько я понял, они ничего менять не будут

Nafania
16.01.2018
15:29:45
у мускуля метрики есть для оценки

Bova
16.01.2018
15:30:16
а может просто запрос переписать?
кстати, покажите на примере как бы вы его изменили

для общего развития

Aleksandr
16.01.2018
15:30:49
using where; using index; using filesort вот наличие filesort в эксплейне меня напрягает

Google
Nafania
16.01.2018
15:30:56
есть всякие тулзы, которые умеют метрики читать и в удобном виде показывать

я, как дилетаент, переписал бы на подзапрос и не парился бы

Aleksandr
16.01.2018
15:31:34
я разобраться с индексами хочу

Bova
16.01.2018
15:32:17
я долго пытался разобраться тут с индексами, достиг только 652222

изначально было около 3млн строк

и запросы по 40-50 сек

Aleksandr
16.01.2018
15:33:36
в общем при type = range появляется filesort если type=ref filesort пропадает

Bova
16.01.2018
15:34:41


некоторые запросы без индексов работали )

и почти все запросы с join

возвращаясь к вопросу кеширования, можно как-то держать в кеше один и тот же запрос?

show variables: | query_cache_limit | 16777216 | | query_cache_min_res_unit | 4096 | | query_cache_size | 268435456 | | query_cache_strip_comments | OFF | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF |

show status: | Qcache_free_blocks | 19217 | | Qcache_free_memory | 101246120 | | Qcache_hits | 32518497 | | Qcache_inserts | 12517690 | | Qcache_lowmem_prunes | 1037854 | | Qcache_not_cached | 452093 | | Qcache_queries_in_cache | 68458 | | Qcache_total_blocks | 158680 |

Zaur
16.01.2018
18:02:45
Можно ли создать поле которое будет содержать bytearray, и периодически дописывать в конец(делать append) поля новые пачки данных?

Egor
16.01.2018
18:07:17
Можно ли создать поле которое будет содержать bytearray, и периодически дописывать в конец(делать append) поля новые пачки данных?
Начнём с того, что в MySQL нет массивов. А так, да, можешь делать присоединение https://stackoverflow.com/questions/2761583/appending-data-to-a-mysql-database-field-that-already-has-data-in-it

Zaur
16.01.2018
18:07:56
В MySQL нельзя хранить бинарные данные?

Rick
16.01.2018
18:10:35
Чуваки я отойду, но я скоро вернусь

I'll be back

Egor
16.01.2018
18:18:40
Или BINARY

Google
Egor
16.01.2018
18:19:58
Но такого понятия, как, например, в Postgres, массив из чисел или бинарных данных, нет.

Иван
17.01.2018
06:30:08
Привет. У меня настроена master-slave репликация. Нужно слейв перенести на другую машину. Если я просто скопирую cо слейва файлы из /var/lib/mysql и /var/log/mysql на новый сервер репликация взлетит обратно?

Или лучше сделать бэкап и залить его на новый слейв и заново запустить реплицкацию. как грамотнее?

lost
17.01.2018
07:17:59
второе

Alexander
17.01.2018
07:22:56
Доброго утра, товарищи. Слушайте, а в MySQL 5.7 какая-то новая директива в конфиге по размещению лог-файла? Перелез с MariaDB 10.2 на MySQL 5.7.20 от Percona, в конфиге указал log-error=/var/log/mysql/mysql.log, а сервер всё равно пишет в /var/log/mysqld.log

В доках что-то не углядел.

Artem
17.01.2018
07:25:44
А ты еще с аутентификацией не потрахался?))

Я как перелез - у меня хендлер под pure-ftp поломался

Alexander
17.01.2018
07:47:00
Не, с аутентификацией всё ОК.

Alexander
17.01.2018
07:47:48
рестарт mysql сервера?
Само собой был.

Woice
17.01.2018
07:48:01
Само собой был.
тогда посмотрите - тот ли mysql ковыряете )))

мошт у вас их там много? )

Alexander
17.01.2018
07:48:13
Тот. =) Один.

Хм, а Percona Server что, юзает свой конфиг? Не my.cnf?

нашел где прописан не тот лог - /etc/percona-server.conf.d/

Woice
17.01.2018
07:50:37
Alexander
17.01.2018
07:50:48
Percona Server?

Bova
17.01.2018
07:51:08
И в чем разница от mariadb?

Woice
17.01.2018
07:51:11
Google
Woice
17.01.2018
07:51:12
Percona server — это сборка MySQL

Percona Server?
естественно, если вы скачали какую-то сборку - ковырять стоит именно её...

Alexander
17.01.2018
07:52:04
Хм, ну так оно позиционируется как 100% совместимая с MySQL. Я надеялся, что на уровне конфигов тоже.

И да, я знал на что перехожу ) это не "нечаянно скачал". Не винда всё же )

Alexander
17.01.2018
07:53:23
А я за смысл и не спрашиваю.

Woice
17.01.2018
07:53:57
А я за смысл и не спрашиваю.
а вы уже ничего и не спрашиваете )

Alexander
17.01.2018
07:54:22
Ну да. =)

Alex
17.01.2018
07:54:49
что то мне казалось что перкона это полноценный форк

Иван
17.01.2018
07:54:59
22 уязвимости в MySQL (максимальный уровень опасности 7.5), из которых 3 позволяют выполнить атаку удалённо без прохождения аутентификации. Проблемы устранены в выпусках MySQL Community Server 5.7.21, 5.6.39 и 5.5.59.

Alexander
17.01.2018
07:55:36
что то мне казалось что перкона это полноценный форк
Ну да, плюс активно коммитят в апстим, насколько могу судить. "Сборка" - больно грубо сказано.

Alex
17.01.2018
07:56:09
а апстрим это оракловый мускул?

а с марией они сильно разошлись по коду?

Alexander
17.01.2018
07:57:01
Я имел в виду его. Может быть выразился не так. =) Про марию понятия не имею. )

Alexey
17.01.2018
17:02:03
что то мне казалось что перкона это полноценный форк
перкона тянет все изменения из оракловского mysql и иногда прикладывает маленькие улучшения сверху. мариадб почти ничего не тянет из апстрима, уже сильно разошлась по коду и вот они — это полноценный форк

Alexey
17.01.2018
17:09:43
спасибо, я так понимаю поэтому в марии не стоит ждать всяких плюшек от оракла ((( они там в восьмерку много чего напилили
и да, и нет. какие-то плюшки из 8.0 они сами запилили и уже выпустили (cte и оконные функции, например). каких-то нет и неизвестно когда будут (например, бинарный json, data dictionary и продвинутый gis)

вот тут сравнительная таблица есть: https://www.percona.com/blog/2017/11/02/mysql-vs-mariadb-reality-check/

Страница 120 из 142