ampwings
60
2017-01-11 23:16:23.0
2
260

검색속도가 OUTER JOIN 하니까 너무 느려졌어요.


안녕하세요. 

 

원하는 값을 얻을 수 있지만 속도가 너무 느리네요.

처음 WHERE 절로 원하는 값을 얻으려 했으나 순서가 뒤바뀌는 문제가 발생되었습니다. 

순번이 넣어 순서가 뒤바뀌지 않도록 하기 위해 프로그램에서 no를 부여해서 쿼리에 넣어주게 되었습니다. 

테이블에는 없는 no를 임의로 넣어주려고 하다보니까 그 뒤에 OUTER JOIN 으로 나머지 내용을 붙이게 된 겁니다. 

 

SELECT A.no, A.partNum, B.description, B.net
FROM (VALUES (1, '01200136514') , (2, '01000410888') ) A (no, partNum)
    LEFT OUTER JOIN Parts_All B ON B.partNum = A.partNum
ORDER BY A.no; 

 

Parts_All 은 여러 테이블을 하나로 모은 뷰 테이블 입니다. 

 

다른 방법이 있을 듯 한데 떠오르질 않네요. 

0
0
  • 답변 2

  • 오로롱이
    1k
    2017-01-11 23:50:44.0

    oracle 이나 postgresql, tibero 라면

    row_number() over(order by partNum) as no

    이런식으로 넘버처리 하면 됩니다.

    mysql이면 rownum 으로 조회하세여

    1
  • ampwings
    60
    2017-01-12 13:33:03.0

    답변주셔서 감사합니다. 

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.