значения типов и характеристик не удаляются из БД никогда?

есть таблица shop_product_features в ней прописываются характеристики к товару. есть таблица shop_feature_values_varchar в ней прописываются сами характеристики. я сравнил эти таблицы и выяснил, что есть много характеристик (в моем случае это 3321 штуки или чутьбольше 1/5 части всех значений), которых нет в таблице shop_product_features. то есть характеристика повисает в воздухе: ее нет ни в одном товаре, а в таблице она есть. Это проблема т.к. таблица не маленькая у меня. в связи с тем, что магазину надо развиваться и мы включили фильтры, то время на обработку запросов из этой таблицы становиться критичным.


вопрос: есть штатные средства дл удаления характеристик не используемых? если нет, то после их удаления, нужно ли переиндексировать эту таблицу по столбцу "sort"?


3 ответа

  • 2

    можно составить запрос и удалить не нужные параметры обращением к базе

  • 2

    Примерный запрос:

    delete pf from shop_product_features pf
    left join shop_product p on p.id = pf.product_id
    where p.id is null


    Отказ от ответственности - запрос писался левой ногой, в сумраке под пивом от победы России над Испанией, его использование ваше личное решение и ко мне притензий быть не может.

    • +1
      Demon13 Demon13 5 июля 2018 16:05 #

      тут в основном был вопрос: значения типов и характеристик не удаляются из БД никогда?

      если оно так, то я просто в крон поставлю запрос на проверку талицы и удаления из нее мусора.

      Мне кажется что это или баг или документированный баг. Или это только у меня...

      • +2
        Sawer Sawer 1 ноября 2018 15:02 #

        Подскажите , решили ли проблему ?

        Можете поделится запросом для очистки

    • +2
      Sawer Sawer 1 ноября 2018 14:56 #

      ДОбрый день

      А можно попросить помощи в запросе. Чтобы все не умерло

      База фичерс у меня 2 гб уже 400000 записей


  • 1
    Demon13 16 февраля 2019 12:15 #

    Подниму тему снова т.к. есть еще одно проблема с мусором. дело в том, что когда удаляются мертвые значения из таблицы  shop_feature_values_varchar, то есть те значения которых нет в таблице shop_product_features, то все равно по ним производиться поиск. Это вообще как так???

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите