2013-12-10 235 views
-1

嗨任何人都可以幫助我的情況下,優化這個查詢 鑑於類別表含1萬分人次的紀錄優化MySQL查詢

SELECT a.title, a.item_id, b.image_path 
FROM category c INNER JOIN items a USING(item_id) 
INNER JOIN images b USING(item_id) 
where cat_id=(select cat_id from category where item_id=1) 
GROUP BY item_id 
ORDER BY item_id DESC 
limit 10; 
+1

爲什麼你使用'SELECT'在'WHERE'?無論如何,你都是'SELECT ... FROM category c'。所以我認爲你可以使用'WHERE item_id = 1'而不是'where cat_id =(從類別where item_id = 1中選擇cat_id)''。除此之外,如果不知道自己想要實現什麼,需要優化什麼以及如何優化數據庫模式以及數據庫模式如何...... – luckylwk

回答

0

CAT_ID在where子句是什麼表?

猜你可以使用一些像:

SELECT 
    a.title, 
    a.item_id, 
    b.image_path 
FROM 
    items a, 
    images b, 
    category c 
WHERE 
    a.item_id=b.item_id 
AND 
    c.item_id = 1 
ORDER BY 
    a.item_id DESC 
+0

仍然缺少表c和a之間的連接,則難以「優化」某些內容。 – Dwza