|
Разный explain и разная скорость на мастере и реплике
|
|||
---|---|---|---|
#18+
Имеется кластер MariaDB: - master = 10.3.22 on Ubuntu 18.04 - slave = 10.3.14 on Ubuntu 16.04 Физически это две виртуалки на одном сервере. Ресурсы процессора и объём ОЗУ одинаковые, загружены минимально. Окружение тестовое, никакой нагрузки на базу нет. Имеется таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Количество записей и счётчик автоинкремента на мастере и слейве одинаковые, репликация работает нормально. Имеется запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Проблема: на мастере результат считается в несколько раз дольше, чем на слейве. Чем длиннее список в "in (...)" - тем больше разница. Например, на слейве 2 секунды, на мастере 4. На слейве 2 минуты, на мастере 7. Explain показывает разные планы оптимизации. - На мастере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Попробовал на мастере использовать "FORCE INDEX FOR JOIN(mdl_courformopti_cou_ix)" во всех трёх JOIN'ах по очереди - не помогло. Кроме того, неясно, почему на slave отсутствует "using where". Вопросы: 1) почему планы оптимизации на мастере и слейве отличаются? 2) как повысить скорость мастера до скорости слейва? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 18:51 |
|
Разный explain и разная скорость на мастере и реплике
|
|||
---|---|---|---|
#18+
Добавил ключ: Код: plsql 1.
Explain стал одинаковым: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Однако скорость работы всё равно отличается в разы. Мистика... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 19:38 |
|
Разный explain и разная скорость на мастере и реплике
|
|||
---|---|---|---|
#18+
Ilya Evseev, Странный запрос. Зачем в нем одновременно и DISTINCT, и GROUP BY? Зачем в секции SELECT поля, которых нет в GROUP BY? Вам все равно что в них выведется? Зачем `value` имеет сложнохранимый тип longtext, когда маленького целочисленного поля хватило бы? Ilya Evseev Кроме того, неясно, почему на slave отсутствует "using where". Но мне больше не нравится Using temporary; на мастере. Настройки расхода памяти одинаковые? В какие значения установлены tmp_table_size и max_heap_table_size? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 23:33 |
|
|
start [/forum/topic.php?fid=47&fpage=22&tid=1828614]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 453ms |
0 / 0 |