当前位置:  数据库>sqlserver

sqlserver 多表关联时在where语句中慎用trim()方法

    来源: 互联网  发布时间:2014-09-05

    本文导语:  类似如下: select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)。 在主表A(200多条记录)关联附表B(4万多条记录)时用了1秒钟时间,该值在不同机器执行可能有所差异,但比不加trim速度稍微慢一些,但是不...

类似如下:

select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)。

在主表A(200多条记录)关联附表B(4万多条记录)时用了1秒钟时间,该值在不同机器执行可能有所差异,但比不加trim速度稍微慢一些,但是不是特别明显。

其sql语句类似如下:

select A.key,B.key from A,B where trim(A.key)=trim(B.fk)

但是,在上面sql语句中加入第三个表C(两条记录)后,Sql语句如下:

select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)

整个sql语句执行了差不多70多秒钟。比不加trim()方法多发费了60夺秒。

后来,通过若干实验发现这种where中多表关联条件,如果不在左边关联条件处加trim()方法即可达到基本等同于一般多表关联的效率。

改良后的sql语句如下:

select A.key,B.key,C.key from A,B,C where A.key=trim(B.fk) and A.col=trim(C.pk)

此条sql语句执行效率基本等同于where语句中无trim()的sql语句速度了。

    
 
 

您可能感兴趣的文章:

  • 为什么用sqlserver生成的创建表的sql语句中都不包含主键信息???
  • sqlserver 禁用触发器和启用触发器的语句
  • sqlserver中遍历字符串的sql语句
  • 为什么我在sqlserver里面可以运行的语句放到access里面就不能通过?
  • sqlserver中向表中插入多行数据的insert语句
  • SQLSERVER查询所有数据库名,表名,和字段名的语句
  • SQLServer Top语句参数化方法
  • sqlserver中求字符串中汉字的个数的sql语句
  • 一段压缩MS SQLServer日志的语句
  • SQLServer中字符串左对齐或右对齐显示的sql语句
  • SQLSERVER语句的执行时间显示的统计结果是什么意思
  • IP地址数字互转 iis7站长之家
  • 在SQLServer上查看SQL语句的执行时间的方法
  • SQLServer 2000定时执行SQL语句
  • sqlserver中去除字符串中连续的分隔符的sql语句
  • sqlserver中重复数据值只取一条的sql语句
  • sqlserver清空service broker中的队列的语句分享
  • sqlserver获取数据库信息sql语句
  • 请问通过纯jdbc能否联 sqlserver7.0,注意不是通过jdbc-odbc桥,如果能的话,driver在哪里下载?连接的语句怎么写?
  • sqlserver 动态创建临时表的语句分享
  • sqlserver 巧妙的自关联运用
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 连接sqlserver的url是jdbc:microsoft:sqlserver://192.168.0.100:1433,他连那一个数据库呢?
  • (100分)用Microsoft jdbc Driver for sqlserver2000(type4)访问sqlserver2k的问题,help!
  • 通过SQLSERVER重启SQLSERVER服务和计算机的方法
  • 怎样用文JDBC for sqlserver访问SQLSERVER 数据库请大侠给出一个完整的程序代码
  • (100分)jdbc连接sqlserver 200出错.[SQLServer 2000 Driver for JDBC]Error establishing socket.
  • 如何连接sqlserver2000数据库
  • 深入JDBC sqlserver连接写法的详解
  • how to 连接到sqlserver2000?
  • 请问如何直接sqlserver?
  • SQLServer JDBC Driver
  • 在sqlserver2000时中文问题。
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • 如何使用JSP 连接SQLSERVER数据库,请不吝赐教!(在线等,急救!)
  • 简单实现SQLServer转MYSQL的方法
  • 求助!SQLServer2000 JDBC Driver 不能加载?
  • Resin+Jsp+Sqlserver2000的问题!在线等候!
  • applet用jdbc链接SQLServer 2000的问题
  • 请问连接SQLServer 的驱动器是什么呢?
  • jdbc:microsoft:sqlserver://localhost:1433;DatabaseNameOPTIONAL=webmail???
  • 如何用SQLServer2k-JDBC连接数据库?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3