Введите имя домена:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показать все домены

Оптимизация базы данных на сайте

Ответы на вопросы от компании «Украинский хостинг».

Шаги по оптимизации базы данных

В ходе развития сайта, в базе данных сайта добавляется все больше информации, на получение которой из базы данных так же тратится все больше ресурсов, что в конечном итоге может привести к замедлению работы сайта и за счет этого снижению позиций сайта в поисковых системах. Одним из способов выхода из данной ситуации является оптимизация базы данных. Самым простым способом уменьшения количества обращений к базе данных, является отключение на сайте всех неиспользуемых модулей и плагинов, т.к они могут выполнять дополнительные подключения к базе данных.

Следующим шагом следуем очистить саму базу данных от ненужных таблиц, статей, комментариев к статьям, а так же другой ненужной информации, что так же поможет выполнять запросы к базе данных быстрее, т.к при меньшем количестве информации в базе данных будет выполнятся меньшее количество операций при поиске.

Значительно уменьшить количество операций, при выполнении запроса к базе данных, помогает оптимизация запросов к базе данных. Существует большое количество способов оптимизировать запросы к базе данных, информацию о которых возможно получить на следующем ресурсе - http://www.mysql.ru/docs/man/MySQL_Optimisation.html

Ниже рассмотрен один из таких способов.

Для примера в базе данных есть таблица с товарами, среди которых требуется найти товары со скидкой 50% В этом случае запрос к базе данных будет выглядеть следующим образом:

SELECT * FROM product WHERE sale = 50

Была взята вся информация из таблицы product , где sale равно 50.

При подобном запросе MySQL сначала прочитает все записи в таблице product, сравнивая колонку sale каждой из записей со значением 50.

При таком способе время выполнения запроса будет зависеть от количества товаров в таблице product.

Избежать привязки к количеству товаров, возможно при помощи создания индекса на колонку таблицы.

Для этого требуется выполнить следующий запрос:

CREATE INDEX sale ON product(sale);

После выполнения указанного запроса в индексе уже будет храниться информация о том, какая информация хранится в колонке age и при следующем обращении к таблице product эта информация будет использоваться для поиска, за счет чего количество операций при поиске значительно сократится.

См.также: