Введіть ім'я домену:
.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 ця інформація буде використовуватися для пошуку, за рахунок чого кількість операцій при пошуку значно скоротиться.

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: