Оптимизация для SELECT INTO OUTFILE - PullRequest
3 голосов
/ 08 апреля 2011

У меня есть запрос SELECT INTO OUTFILE, который может вернуть до ~ 160 000 строк или несколько десятков мегабайт данных.Запуск занимает много времени - около 20 минут.Если я выполняю LIMIT 100, запрос занимает доли секунды, поэтому кажется, что мой запрос, вероятно, оптимизирован почти так же хорошо, как и может быть.

Существуют ли какие-либо методы повышения производительности, специфичные для SELECT INTO OUTFILE?Например, может быть, какая-то настройка памяти в my.cnf помогает или что-то в этом роде.

Примечание: этот вопрос не об оптимизации запроса, поэтому, пожалуйста, не просите посмотреть мой запрос, если это то, что вам нужно.Есть много помощи по этому вопросу в другом месте.Я прошу методы повышения производительности, которые специально улучшают SELECT INTO OUTFILE запросов.

Я нахожусь на Ubuntu, если это имеет значение.

1 Ответ

0 голосов
/ 09 мая 2011

Это через сеть?Сколько времени занимает копирование файла результатов по одной и той же топологии?

Измерение с помощью «LIMIT 100» не обязательно является хорошим тестом для чего-либо.

Обычно разница между SELECT иSELECT INTO OUTFILE - это время, необходимое для переноса данных на диск.И это может включать в себя множество вещей, о которых вы нам мало рассказываете.

...