Большинство сайтов, после размещения их на хостинге, продолжают активно наполняться контентом, за счет чего увеличивается размер используемой сайтом базы данных и что в свою очередь приводит к увеличению времени получения информации из базы данных. Ниже представлены рекомендации по снижению времени получения информации из базы данных при помощи оптимизации MySQL запросов.
Одним из вариантов оптимизации MySQL запросов является создание индекса на колонку таблицы.
Для примера в таблице товаров требуется найти все товары, скидка на которые равна 50.
Такой MySQL запрос будет иметь следующий вид:
SELECT * FROM product WHERE sale = 50
Данный MySQL запрос выполнит поиск товаров в таблице product, в колонке sale которых есть значение 50 и т.к проверка каждого товара требует определенного времени, чем больше товаров, тем больше будет выполняться MySQL запрос к базе данных.
Оптимизировать MySQL запрос возможно создав индекс на колонку sale, при помощи следующего MySQL запроса:
CREATE INDEX sale ON product(sale);
Таким образом информация о том, что содержится в колонке sale, будет сохранена и ее проверка не потребуется при следующем MySQL запросе на поиск в колонке sale, что снизит время обработки MySQL запроса.
Другие способы оптимизации MySQL запросов так же возможно посмотреть на следующем ресурсе — http://www.mysql.ru/docs/man/MySQL_Optimisation.html