Увеличиваем Скорость Работы С Бд

Тема в разделе "Установка, обновление, настройка", создана пользователем doggy00, 15 сен 2017.

  1. TopicStarter Overlay
    Offline

    doggy00 Пользователь

    Сообщения:
    122
    Симпатии:
    308
    Репутация:
    38
    Всем доброго дня.
    Не так давно столкнулся с проблемой, которая парила меня не один месяц - скорость работы сайта.
    Кэш, конечно же, помогал, но вот если переходить в корзину (где кэша нет), то скорость работы сайта показывала себя во всей красе.
    Основная причина такой долгой работы сайта, была большая БД товаров > 3000, а так же модуль Mega Filter Pro, который много и часто общается с БД.

    В итоге, для того чтобы поднять производительность сайта, был сделан следующий простой шаг.
    В БД ищем oc(или какой-то Ваш индекс)_category_path и столбцу path_id присваиваем первичный ключ и индекс.

    Для этого через phpmyadmin заходим в нужную таблицу (category_path), нажимаем "Структура" и нажимаем на "Первичный", рядом с жёлтым ключом, чтобы тот стал серым. Следом нажимаем на "Индекс", чтобы сформировался индекс для столбца.
    В итоге получится следующее:
    upload_2017-9-15_14-34-53.png
    Или выполнить следующие запросы в SQL
    ALTER TABLE oc_category_path ADD PRIMARY KEY (`path_id`);
    ALTER TABLE oc_category_path ADD INDEX (`path_id`);
    Итог получится такой же, как в первом способе.
     
    Fitcher и admin нравится это.
  2. Offline

    Максм Пользователь

    Сообщения:
    87
    Симпатии:
    285
    Репутация:
    17
    Не забывайте делать Бэкап базы перед данным действием!
     
    Fitcher нравится это.
  3. TopicStarter Overlay
    Offline

    doggy00 Пользователь

    Сообщения:
    122
    Симпатии:
    308
    Репутация:
    38
    @Максм, Ну да :-) Для новичков это важно, конечно, а для бывалых это как must have ^_^
     
  4. Offline

    Redon Пользователь

    Сообщения:
    18
    Симпатии:
    19
    Репутация:
    2
    Да это очень важно
     
  5. Offline

    assche Пользователь

    Сообщения:
    101
    Симпатии:
    204
    Репутация:
    0
    а за счет чего идет увеличение скорости? может кто подробнее объяснить принцип?
     
    Fitcher нравится это.
  6. TopicStarter Overlay
    Offline

    doggy00 Пользователь

    Сообщения:
    122
    Симпатии:
    308
    Репутация:
    38
    @assche, я думаю, что тут только читать мануал и выяснять что такое индексы, нафига они нужны.
     
    Fitcher нравится это.
  7. Offline

    Fitcher Пользователь

    Сообщения:
    37
    Симпатии:
    16
    Репутация:
    0
    настраиваю с нуля магазин, спасибо

    p.s. есть какие-то примеры результатов, на сколько увеличивается скорость загрузки магазина после манипуляций?
     
    Алексей98 нравится это.
  8. Offline

    Алексей98 Пользователь

    Сообщения:
    10
    Симпатии:
    3
    Репутация:
    0
    на 2.3 работает ?
     
    Fitcher нравится это.
  9. Offline

    kudessnic Пользователь

    Сообщения:
    47
    Симпатии:
    11
    Репутация:
    0
    Причем тут 2,3?
    Работа в phpmyadmin
     
    Fitcher нравится это.
  10. Offline

    Fitcher Пользователь

    Сообщения:
    37
    Симпатии:
    16
    Репутация:
    0
    может быть Алексей уточнял за версию phpma :slava:
     
    Алексей98 нравится это.
  11. Offline

    Алексей98 Пользователь

    Сообщения:
    10
    Симпатии:
    3
    Репутация:
    0
    @Fitcher, Мля я думал это ускоритель сайта ):faceoff:
     
    Fitcher нравится это.
  12. Offline

    Fitcher Пользователь

    Сообщения:
    37
    Симпатии:
    16
    Репутация:
    0
    так сайт - это графическая оболочка, а все его внутренности - база данных.
    образно говоря - есть hdd, а есть ssd. скорость работы не сравнимы. изначально opencart - медленный скрипучий hdd в плане его работы с базой данных и установленных потом скриптов. одно дело ты нищеброд, работаешь со своим старым hdd и идёшь заваривать чай, когда включаешь комп, а другое дело твои потенциальные клиенты и посетители - сайт грузится медленно - они идут на другой и покупают там, им пофигу, на каком боку у тебя тюбетейка.

    поэтому после наполнения магазина товарами весь смысл оптимизации работы opencart сводится к оптимизации запросов сайта к базе данных, так как это самый главный косяк этой cms. поэтому одна из фишек приведенных в данной теме и есть начало пути перехода от медленных запросов (а-ля hdd) к быстрым (а-ля ssd), а вместе и с ними к быстрой и отзывчивой работе сайта, что является залогом успешных продаж в интернете.
     
    Mister-nikto и Алексей98 нравится это.
  13. Offline

    Алексей98 Пользователь

    Сообщения:
    10
    Симпатии:
    3
    Репутация:
    0
    @Fitcher, Спасибо что объяснил ,я просто еще не особо шарю ):lamo:
     
  14. Offline

    svitlo Пользователь

    Сообщения:
    74
    Симпатии:
    25
    Репутация:
    0
    может кто поделится модулем для 2,3 опенкарта что бы мониторить запросы и видеть какие нужно оптимизировать? и стоит ли проставлять индексы на всю базу? находил тут скриптик который ставил автоматом инднксы но особого прироста в скорости не заметил магазин 1000 товаров
     
    Fitcher нравится это.