Я создаю веб-приложение для электронной коммерции, используя PHP и MYSQL (MYISAM). я хочу знать, как ускорить мои запросы
У меня есть таблица продуктов с более чем миллионом записей со следующими столбцами: id (int, primary) catid (int) usrid (int) title (int) описание (int) статус (enum) дата (datetime)
недавно я разбил эту одну таблицу на несколько таблиц на основе категорий продуктов (Catid). думая, что это может снизить нагрузку на сервер.
Теперь мне нужно получить результаты из этих таблиц в сочетании со следующими наборами условий 1. Результаты, соответствующие usrid и состоянию. (чтобы получить товары пользователя) 2 результата, соответствующих статусу и названию или описанию (например: для поиска товара)
теперь в настоящее время мне нужно использовать UNION для получения результатов из всех этих комбинированных таблиц, что замедляет производительность, и я также не могу применить LIMIT к комбинированному набору результатов. Я думал о создании индекса для всех этих столбцов, чтобы ускорить поиск, но это может замедлить вставки и обновления. Кроме того, я думаю, что разделение стола не было хорошей идеей.
Я хотел бы знать лучший подход для оптимизации поиска данных в такой ситуации. Я также открыт для новых предложений по схеме базы данных.