我有一個數據庫,但我預計速度有問題。 因爲我的所有數據都保存seperately在屬性值數據庫中優化Mysql查詢
Product table:
id int auto_inc PRI
name var_char(64)
attribute_table:
attr_id int auto_inc PRI
name var_char(64)
attribute_value:
attr_id int
product_id
value
但是當我做一個高級搜索我得到ENORM querys像
select * from product_table as pt
cross join attribute_value as av ON av.product_id = pt.id AND av.value LIKE "test"
cross join attribute_table as at ON at.attr_id = av.attr_id AND at.name = "test"
cross join attribute_value as av ON av.product_id = pt.id AND av.value LIKE "test2"
cross join attribute_table as at ON at.attr_id = av.attr_id AND at.name = "test2"
cross join attribute_value as av ON av.product_id = pt.id AND av.value LIKE "test3"
cross join attribute_table as at ON at.attr_id = av.attr_id AND at.name = "test3"
,但我想這個心不是真的快。但有什麼方法可以優化?或者我可以使用一些技巧來更快地進行搜索,就像一種兌現?
你的查詢應該做什麼?你可能想要使用LEFT JOIN,並且可能希望添加一些索引,但是直到我能夠確定你想要選擇的內容,我無法真正幫助你。 – 2010-11-05 15:08:48