У меня есть вопрос для больших запросов mysql. Действительно ли возможно пропустить копирование к tmp таблице на дисковом шаге, который mysql делает для выполнения больших запросов, или действительно ли возможно заставить его пойти быстрее? потому что этот шаг берет слишком долго для возвращения результатов моих запросов. Я читал на странице MySQL, что mysql выполняет это для сохранения памяти, но я не забочусь о сохранении памяти, я просто хочу получить результаты своих запросов назад FAST, у меня есть достаточно памяти на моей машине. Кроме того, мои таблицы правильно индексируются так, это не причина, почему мои запросы являются медленными.
Какая-либо справка?
Спасибо
Можно также пропустить копию к tmp таблице на дисковой части (не отвеченный в выбранном ответе)
Поддержка типов данных переменной длины (включая BLOB и ТЕКСТ) не поддерживаемый ПАМЯТЬЮ.
от https://dev.mysql.com/doc/refman/8.0/en/memory-storage-engine.html (или https://mariadb.com/kb/en/library/memory-storage-engine / , если Вы используете mariadb).
Увеличение переменные tmp_table_size и/или max_heap_table_size
, Но если Вы разделяете свой запрос в меньших запросах (не имеющий запрос, не помогает проанализировать Вашу проблему), можно заставить его соответствовать во временной таблице памяти.