我已经存储了所有创建基于颜色,重量和质量的产品所需的所有属性的排列和组合,并将其存储在属性表中。如何提高具有多个Where条件和Order By的查询的速度?
在程序中,循环访问此表中的数据并创建Select sql以基于属性查询包含Product Price的另一个表,并将其存储在第三个表中。
我假设在属性表中有7000条记录,在价格表中有2条Lakh记录。 所以程序循环到7000条记录,每个选择SQL查询2Lakh记录。
选择SQL包含多个Where子句和一个按价格排序以获得最低价格。
我的问题是如何减少查询执行时间。
例子: -
属性表
sno color Quality Weight
1 blue Good 3kg
2 red Fair 1kg
3 Yellow Excellent 1.5Kg
价格表
sno color Quality Weight(in kgs) Market Price Our Price
1 sky blue Good 4 $400 $360
2 orange red Excellent 2 $500 $450
价格表红我店 - 深红,橙红等
但是我的属性有红色bcoz红色是主色,在市场上你不完美红色。 所以我给产品接近红色,在那个红色组中更便宜。
select * from tbl_price
where color IN {Array [tbl data Entry i.e. RED ] gives-> ("Crimson Red", "Orange Red","Carrot Red")}
AND Quality IN {Array [tbl data Entry i.e. Good ] gives-> ("Above Average","Medium","Not Bad")}
AND Weight >= {tbl Entry of Weight}
Order by OurPrice ASC
LIMIT 1,1;
是颜色,质量,重量和OurPrice所有索引? – 2014-09-13 03:03:59