仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1704|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL教程之最无效率的“多字段含混婚配关头字查询...

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。关头字|办理我们开辟数据库使用时,经常必要用到含混查询。假如统一个前提必要婚配良多字段怎样办呢?一般,程序员会每一个字段都在SQL中“fieldlike%cond%”一次。如许,SQL语句会长得惊人,碰上庞大一点的,乃至SQL语句会由于超长而被数据库回绝实行。

实在,这个成绩只需动动头脑就很简单办理:

起首,将要婚配不异前提的字段连起来(field1+field2+...)成一个长字符串;
然后再Like“%cond%”就能够了。

不外这类办法有个成绩,就是得衡量多表毗连酿成的效力下降。一样平常来讲,单表内字段一定应当毗连后再一致like判别;表间字段,则必要先过滤后,再实施这个战略。

接纳这个战略,不但能够延长SQL,并且可以无效地进步SQL的实行效力。

接待会见国际首家旅游比价搜刮网站:
搜纪行(http://www.soyoji.com)——搜刮,让旅游更轻松!MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 20:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表