Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我没有想到这一点。但这会对性能产生怎样的影响?在执行联接时,对每一行执行检查似乎效率很低。至于使用to_CHAR,正如前面的评论中所述,我们最初是这样做的,但是其他开发人员在加入视图时总是忘记将包含在to_CHAR中,这样做的目的是消除代码重复。显然,最好_Sql_Oracle_Oracle12c - Fatal编程技术网

Sql 我没有想到这一点。但这会对性能产生怎样的影响?在执行联接时,对每一行执行检查似乎效率很低。至于使用to_CHAR,正如前面的评论中所述,我们最初是这样做的,但是其他开发人员在加入视图时总是忘记将包含在to_CHAR中,这样做的目的是消除代码重复。显然,最好

Sql 我没有想到这一点。但这会对性能产生怎样的影响?在执行联接时,对每一行执行检查似乎效率很低。至于使用to_CHAR,正如前面的评论中所述,我们最初是这样做的,但是其他开发人员在加入视图时总是忘记将包含在to_CHAR中,这样做的目的是消除代码重复。显然,最好,sql,oracle,oracle12c,Sql,Oracle,Oracle12c,我没有想到这一点。但这会对性能产生怎样的影响?在执行联接时,对每一行执行检查似乎效率很低。至于使用to_CHAR,正如前面的评论中所述,我们最初是这样做的,但是其他开发人员在加入视图时总是忘记将包含在to_CHAR中,这样做的目的是消除代码重复。显然,最好的解决方案是重构和修复数据模型,但这是我继承的一个大型数据库,从业务角度来看,重构它是不实际的。 SELECT * FROM ( SELECT AGGPROJ_ID -- this column is a VARCHAR FRO

我没有想到这一点。但这会对性能产生怎样的影响?在执行联接时,对每一行执行检查似乎效率很低。至于使用
to_CHAR
,正如前面的评论中所述,我们最初是这样做的,但是其他开发人员在加入视图时总是忘记将
包含在to_CHAR
中,这样做的目的是消除代码重复。显然,最好的解决方案是重构和修复数据模型,但这是我继承的一个大型数据库,从业务角度来看,重构它是不实际的。
SELECT *
FROM (
    SELECT AGGPROJ_ID -- this column is a VARCHAR
    FROM AGG_MATCHES -- this is the table storing the matches
    WHERE AGGSRC = 'source_a'
) m
JOIN SOURCE_A a ON a.ID = TO_NUMBER(m.AGGPROJ_ID default null on conversion error);
SELECT *
FROM (
    SELECT AGGPROJ_ID -- this column is a VARCHAR
    FROM AGG_MATCHES -- this is the table storing the matches
    WHERE AGGSRC = 'source_a'
        --Prevent optimizer transformations for type safety.
        AND ROWNUM >= 1
) m
JOIN SOURCE_A a ON a.ID = TO_NUMBER(m.AGGPROJ_ID);
SELECT a.*
FROM AGG_MATCHES m JOIN
     SOURCE_A a
     ON a.ID = (CASE WHEN m.AGGSRC = 'source_a' THEN TO_NUMBER(m.AGGPROJ_ID) END);
SELECT a.*
FROM AGG_MATCHES m JOIN
     SOURCE_A a
     ON TO_CHAR(a.ID) = m.AGGPROJ_ID AND
        m.AGGSRC = 'source_a' ;
create view v_agg_matches_a as 
    select . . .,
           (case when regexp_like(AGGPROJ_ID, '^[0-9]+$')
                 then to_number(AGGPROJ_ID)
            end) as AGGPROJ_ID
    from agg_matches am
    where m.AGGSRC = 'source_a';