Есть ли способ удалить сортировку файлов в MySQL при сравнении двух столбцов? - PullRequest
0 голосов
/ 16 сентября 2011

Мой запрос выглядит следующим образом:

SELECT * FROM table 
WHERE field like '%keyword%' 
ORDER BY (vote_up-vote_down) DESC

Сортировка запускает мои ресурсы sql, есть ли способ улучшить это?

1 Ответ

0 голосов
/ 16 сентября 2011

NO для вашего случая, так как mysql необходимо оценить выражение и вычислить фактический результат vote_up-vote_down.

Таким образом, сортировка файлов неизбежна

Чтобы повысить производительность сортировки

http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html

, можно проверить следующее. Если вы хотите увеличить скорость ORDER BY, проверьте, можете ли вы заставить MySQL использовать индексы вместодополнительный этап сортировки.Если это невозможно, вы можете попробовать следующие стратегии:

Увеличить размер переменной sort_buffer_size.

Увеличить размер переменной read_rnd_buffer_size.

Использовать меньше оперативной памятидля каждой строки, объявляя столбцы настолько большими, насколько это необходимо для хранения значений, хранящихся в них.Например, CHAR (16) лучше, чем CHAR (200), если значения никогда не превышают 16 символов.

Измените tmpdir, чтобы он указывал на выделенную файловую систему с большим количеством свободного места.Кроме того, этот параметр принимает несколько путей, которые используются в циклическом режиме, так что вы можете использовать эту функцию для распределения нагрузки по нескольким каталогам.Пути должны быть разделены двоеточиями («:») в Unix и точками с запятой («;») в Windows, NetWare и OS / 2.Пути должны быть для каталогов в файловых системах, которые расположены на разных физических дисках, а не на разных разделах на одном диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...