Если действительно не должно быть ситуации, когда вы заканчиваете дублирующими комбинациями quize_no
и phone
в этой таблице, то первое, что вам нужно сделать, это изменить структуру таблицы, чтобы добавить уникальный ключ к этим столбцам.
Например: ALTER TABLE score_mm ADD UNIQUE (quize_no, phone);
Это не исправит все, что вызывает вызовы нескольких вставных запросов, но по крайней мере защитит целостность ваших данных, не допуская каких-либо строк с двойные комбинации значений.
table_open_cache=1024000
НЕТ! Это таблиц , а не байтов . Измените его на 2000
.
key_buffer_size=2147483648
Если вы используете InnoDB, а не MyISAM:
key_buffer_size = 50M
innodb_buffer_pool_size is fine at 96G (for 128GB of RAM)
Это почти бесполезно, измените на 5
:
long_query_time=100
И ... [ 1116]
# Thread Specific Values
sort_buffer_size=2147483648
read_buffer_size=2147483648
read_rnd_buffer_size=1073741824
join_buffer_size=1073741824
bulk_insert_buffer_size=4294967296
tmp_table_size=17179869184
max_heap_table_size=8589934592
Прочитайте этот комментарий! Каждое соединение может распределять эти размеры! Вам не хватит оперативной памяти. Поменяться местами или произойдет сбой! Даже если у вас много оперативной памяти, эти цифры чрезмерны.
innodb_flush_method = unbuffered
В руководстве говорится:
unbuffered: ... используется для внутреннего тестирования производительности и в настоящее время не поддерживается. Используйте на свой страх и риск.
blockquote>innodb_random_read_ahead = 1
Из руководства:
Поскольку эта функция может улучшить производительность в некоторых случаях и снизить производительность в других, прежде чем полагаться на этот параметр, проведите тестирование как с, так и без настройка включена.
blockquote>Итог: отменить все ваши изменения конфигурации , кроме buffer_pool.