2013-05-16 2 views
-2

SELECT *는 불필요한 정보를 반환 할 수 있기 때문에 나쁜 습관으로 간주됩니다. SELECT 쿼리 모범 사례

하지만 이것에 대해

:

내가 4 열이있는 테이블이 말, 열

이 두 개의 쿼리 사이 (빠른 성능과 같은) 어떤 차이가 1-4?

SELECT col_1,col_2,col_3,col_4 FROM ... 

그리고

SELECT col_2,col_4,col_1,col_3 FROM ... 

참고 : 1 쿼리는 데이터베이스 컬럼과 동일한 순서를 가지고 있지만, 두번째 쿼리 DB 테이블의 컬럼 순서에 대해 관심이 없었어요.

+0

@Raj이 두 쿼리 간에는 다른 (빠른 성능과 같은) 것이 있습니까? col_1, col_2, col_3, col_4를 선택하고 col_2, col_4, col_1, col_3을 선택하십시오. – Anjana

답변

0

모든 세 쿼리는 테이블의 모든 열을 나열했습니다 가정, 동일한을 수행 할 것입니다. 기본 키가있는 경우이 쿼리는 클러스터 된 인덱스 스캔을 수행합니다. 그렇지 않으면 기본적으로 테이블 스캔과 같은 작업이 수행됩니다.

+0

글쎄요, 저는 한 가지 예를 보여줍니다. 많은 시간 동안 우리는 하나의 테이블에서 모든 열을 검색하지 못했습니다. 그러나 나는 너를 보았다. 고맙습니다 – Anjana

1

모든 용도와 목적으로.

+0

네. 제가 생각한 것입니다. 왜 내가이 문제에 의문을 가지고 있었는지 모르겠다.하지만 나는 이것들을 말해줘야 해 .ELECT * 질의는 불필요한 분야를 되돌려주는 것보다 더 많은 문제가있다. 고맙습니다. 도움을 청합니다. – Anjana

0

속도는 두 쿼리에서 동일해야합니다.

이렇게하려면 각 쿼리의 전후에 타임 스탬프를 인쇄하여 직접 볼 수 있도록하십시오.

최고의 소원하는 where 절없이