Hirdetés

Új hozzászólás Aktív témák

  • Taci

    addikt

    válasz sztanozs #5126 üzenetére

    SELECT item_id, item_date
    FROM items
    WHERE 
    item_id IN (select item_id from items_categories where 
    category_id not in  (1,3,13,7,20) and 
    item_id not in (117,132,145,209,211))
    ORDER BY item_date DESC LIMIT 4

    (valami régi kódból maradt benne a neve, a feed_id az az item_id az index nevében)

    Mivel itt azt mondja, hogy az items_categories táblán nem használ indexet (key = NULL), ezért arra gondoltam, akkor létre hozok egy covering indexet ide:
    CREATE INDEX idx_category_id_item_id ON items_categories (category_id,item_id)

    A sebességen nem javított, de most már így néz ki az explain:

    ----------

    SELECT i.item_id, i.item_date
    FROM items as i INNER JOIN items_categories AS c ON i.item_id=c.item_id
    WHERE 
      c.category_id NOT IN (1,3,13,7,20) AND
      i.item_id NOT IN (117,132,145,209,211)
    GROUP BY i.item_id, i.item_date
    ORDER BY i.item_date DESC LIMIT 4

    Itt ha a
    GROUP BY i.item_id, i.item_date
    helyett
    GROUP BY i.item_id
    van, akkor ennyi a változás:

    De időben semmit nem jelent.

Új hozzászólás Aktív témák