数据库查询语句

WBOY
发布: 2016-08-08 09:06:57
原创
907 人浏览过

SELECT goods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_name LIKE '%3%'

请给指出问题
正确格式是什么样子请教一下大神

回复内容:

SELECT goods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_name LIKE '%3%'

请给指出问题
正确格式是什么样子请教一下大神

格式没错,是要看什么问题?

这条语句是正确的.

语句没问题,就是只要数据量大一点点就巨慢无比,而且唯一可优化的点就是给cat_id加索引。但是如果没猜错这个字段是分类字段,都是重复值,所以加了索引也没有什么用。
类似这样的SQL如果很多,建议用检索系统做,Elastic search或者Solr。

SELECT goods_name FROM ecs_goods WHERE (cat_id = '9'or cat_id ='10' or cat_id ='12' or cat_id ='13' or cat_id ='14') AND goods_name LIKE '%3%'
最好不要用in

因为俩条件是 and 你可以分开执行的吧 先in 然后再从结果里面like 应该是可以的吧

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板