Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Индексация БД


RGB

Recommended Posts

Друзья! Кто-то наверняка уже индексировал БД магазина с целью повышения его производительности. Предлагаю вам поделиться своим профессионализмом в этой теме, и заодно выяснить по каким полям лучше индексировать, и с какими ограничениями на размер индексации текстового поля.

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

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

Надіслати
Поділитися на інших сайтах

А поиск разве по ним идёт? Допустим, пользователь ищет конкретную модель — тогда ведь будет задействовано именно поле name. Впрочем, система магазина наверняка чаще обращается к БД, чем пользователи, так что наверное вы правы.

В таком случае запросы индексации, видимо, будут иметь следующий вид:

ALTER TABLE oc_product ADD INDEX i_product_id (product_id); //по product_idALTER TABLE oc_product ADD INDEX i_stock_status_id (stock_status_id); //по stock_status_idALTER TABLE oc_product ADD INDEX i_manufacturer_id (manufacturer_id); //по manufacturer_id	ALTER TABLE oc_product ADD INDEX i_cost (cost); //по cost
По таким полям, как:

tax_class_id

weight_class_id

length_class_id

наверное не стоит индексировать?

Правильно ли я думаю?

Надіслати
Поділитися на інших сайтах

в каких таблицах много записей, те и индексируйте. врядли у вас 5000 производителей =)

А синтаксис запроса правильный? Просто я не могу сейчас проверить правильность индексации.И я не указывал ограничение на кол-во индексируемых символов для текстового поля, это нормально?
Надіслати
Поділитися на інших сайтах

ни разу не писал запрос индексирования вручную, обычно тыкал на нужную иконку в phpmyadmin (ну или другой СУБД), а текстовые поля индексировать, наверно, все же не обязательно, редко их используют.

Надіслати
Поділитися на інших сайтах


ни разу не писал запрос индексирования вручную, обычно тыкал на нужную иконку в phpmyadmin (ну или другой СУБД), а текстовые поля индексировать, наверно, все же не обязательно, редко их используют.

То есть просто нажимали на кнопку Index напротив необходимого поля в меню Structure нужной таблицы? Этого разве достаточно?
Надіслати
Поділитися на інших сайтах

Для того чтоб понять какие запросы в ДБ считаются медленными или без индексов, в Mysql можно включить логирование таких запросов. При большом кол-ве товаров это решает хоть как то проблему.уже не однократно писал здесь чтоб добавили индексы.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.