2012-09-26 3 views
-3

가능한 중복 :
select * vs select column"select *"와 모든 열의 선택간에 속도 차이가 있습니까?

20 열이있는 테이블이 가정하자. select *과 명시 적으로 20 개의 모든 열을 포함하는 선택간에 속도 차이가 있습니까?

차이가없는 경우 무엇을 조언 하시겠습니까? 게으른 select *을 사용해야합니까, 아니면 각 열에 쿼리 문자열을 만들어야합니까? (그것은 어떤 차이가합니다. : 나는 SQL 서버를 사용)

좋은 방법으로

+0

코드를 변경하는 데 몇 마이크로 초를 절약하면 큰 작업을 수행하고 있습니까? –

+0

두 가지 방법을 시도해 보셨습니까? 그것을 벤치마킹하여 알려주십시오. – Tass

+0

나는 stackoverflow에서 가장 자주 묻는 10 가지 질문 중 하나라고 확신합니다. – dkretz

답변

0

의 더 나은 선택 문 자체에서 열 이름을 포함합니다. 테이블의 구조는 미래에 변경할 수 있습니다, 당신은 당신이 선택 *를 사용하는 경우

성능 현명한

, SQL 서버 컴파일러는 * 열 이름으로 대체합니다 .. 원치 않는 데이터를 당기는 것 때문에 응용 프로그램이 특별히 열을 요청하고 테이블 구조 변경 (열을 제거하거나 이름을 변경)하면 ...

이는 추가적인 작업이지만, 그 속도지만, 유지 보수에 대해 많이 무시할 수

1

아니라고 생각 그러면 성명서가 깨질 것입니다. 암탉은 달리고, 문제점이 어디에 있는지 정확하게 나타냅니다.

select *는 구조체 변경 후에도 작동하지만 나중에 응용 프로그램에서 추적하기가 더 어려울 수 있습니다.

추가 작업이 필요하지만 명시 적으로 열을 유지 관리하는 것이 좋습니다.

where 절이 매개 변수화되었다고 가정하면 SQL은 단 한 번만 구문 분석되며 그 후에 명령문 캐시에 있어야하므로 실행 속도가 크게 달라지지 않습니다.

관련 문제