关键字:广东省|杭州市|福建省数据表customer:province city
广东省 广州市
广东省 深圳市
福建省 泉州市
四川省 成都市
江苏省 杭州市当前用的sql:SELECT * FROM customer WHERE statusId=1 AND (province REGEXP '^(广东省|杭州市|福建省)$' OR city REGEXP '^(广东省|杭州市|福建省)$') ORDER BY id因为省及市分开了两个字段,而关键字里省及市是混在一起的。
所以相同的关键字不得不用了两次REGEXP,感觉这样效率不大好,不知可有更好的方法?请指点,谢谢。
广东省 广州市
广东省 深圳市
福建省 泉州市
四川省 成都市
江苏省 杭州市当前用的sql:SELECT * FROM customer WHERE statusId=1 AND (province REGEXP '^(广东省|杭州市|福建省)$' OR city REGEXP '^(广东省|杭州市|福建省)$') ORDER BY id因为省及市分开了两个字段,而关键字里省及市是混在一起的。
所以相同的关键字不得不用了两次REGEXP,感觉这样效率不大好,不知可有更好的方法?请指点,谢谢。
REGEXP ',广东省,|,杭州市,|,福建省,' ORDER BY id
谢谢指点!再问下:
1、你的意思是说用了concat还不如用or的效率好?刚测试了下,可能是数据量少的原因,这两种方法似乎效率差不多。
2、用你上面的语句,concat后REGEXP里不能使用^及$?
由于你的字段合并了,所以不能再使用^$了。