zoukankan      html  css  js  c++  java
  • 怎么解决ORACLE 中 CHAR类型的索引问题

    在很多场景中,都有如下情况

    trim(a.colunm1) = trim(b.colunm2)

    应该怎么优化呢?

    用到 TRIM 的很多原因是某些系统为了提高查询效率,不使用  ORACLE 的特有的,优秀的,且前无古人后无来者定义的  VARCHAR2 ,而是使用 CHAR 类型,写死了字符长度。

    因此,在关联查询的时候就郁闷了,新建立的表就使用的 VARCHAR2 ,如果不用 TRIM 去掉 CHAR 类型的空格吧,又没办法匹配,如果用 TRIM 吧,索引又被破坏。

    而且,重点是,虽然添加一个TRIM(COLUNM1)索引能提高查找效率,但是也增加了存储空间,并且影响写入效率。

    怎么办!!!!怎么办!!!

    还好你看了我的文章,因为我的聪明才智,想到了补全空格的方法:

    RPAD(A.COLUNM1,'字符长度','空格') = B.COLUNM2

    这样是否完美解决了呢!

    效率还倍儿高!

    后来发现这不是我的原创,百度早有了。。。

  • 相关阅读:
    第8周课下作业1(补)
    第八章课下测试
    POJ
    POJ
    HDU
    UVa
    UVa
    CodeForces
    ZOJ
    LightOJ
  • 原文地址:https://www.cnblogs.com/yhoralce/p/7657976.html
Copyright © 2011-2022 走看看