我的查询语句写得好么,科学么,求鉴定!
SELECT cu.uid, cu.nickname, cu.sex, cu.brithyear, cu.resideprovince, cu.residecity, cu.height, ca.pic, cua.content, cua.checkaFROM cndc_user AS cu, cndc_album AS ca, cndc_user_aboutme AS cua
WHERE cu.uid = ca.uid
AND cu.uid = cua.uid
AND cu.sex = $sex
AND cu.brithyear < $maxage
AND cu.brithyear > $minage
AND resideprovince = $province
AND residecity = $city
自我感觉稍显臃肿,试问有没有别的替代办法 先判断,后连接。这个是实现查询优化树的一个简单方法。所以你应该这么写:
where cu.sex = $sex
AND resideprovince = $province
AND residecity = $city
AND cu.brithyear < $maxage
AND cu.brithyear > $minage
and cu.uid = ca.uid
AND cu.uid = cua.uid
坚持的原则是把限制性大的放到最前面,每次尽量取最少的数据。 谢了老白! 建索引,然后最好explain查看一下,想当然有时是错的 学习一下,呵呵
页:
[1]