sql 의 좋 은 습관 - sql 문장의 가장 기본 적 인

sql 의 좋 은 습관 - sql 문장의 가장 기본 적 인
3. 필요 한 데이터 만 되 돌려 줍 니 다.
클 라 이언 트 로 데 이 터 를 되 돌려 주 려 면 적어도 데이터 베이스 추출, 네트워크 전송 데이터, 클 라 이언 트 수신 데이터 와 클 라 이언 트 처리 데이터 등 부분 이 필요 합 니 다. 필요 하지 않 은 데 이 터 를 되 돌려 주면 서버, 네트워크 와 클 라 이언 트 의 무효 노동 을 증가 하고 그 해 는 현저 하고 쉽게 볼 수 있 으 며 이런 사건 을 피 하려 면 주의해 야 합 니 다.
A. 가로로 보면,
(1) SELECT * 문 구 를 쓰 지 말고 필요 한 필드 를 선택 하 세 요.
(2) SQL 구문 에 여러 개의 표를 연결 할 때 표 의 별명 을 사용 하고 별명 을 각 Column 에 접두사 하 십시오. 그러면 해석 시간 을 줄 이 고 Column 의 잘못된 의미 로 인 한 문법 오 류 를 줄 일 수 있 습 니 다.

   
   
   
   
  1. table1(ID,col1) table2 (ID,col2)  
  2. Select A.ID, A.col1, B.col2  
  3. -- Select A.ID, col1, col2 – ,  
  4. from table1 A inner join table2 B on A.ID=B.ID Where … 

B. 세로 로 보면,
(1) WHERE 자 구 를 합 리 적 으로 쓰 고 WHERE 가 없 는 SQL 문 구 를 쓰 지 마 세 요.
(2) SELECT TOP N * - WHERE 조건 없 이 대체
4. 중복 되 는 일 은 되도록 적 게 한다.
A. 같은 문장의 여러 번 의 집행 을 통제 하고 특히 일부 기초 데이터 의 여러 번 의 집행 은 많은 프로그래머 들 이 주의 하지 않 는 다.
B. 여러 번 의 데이터 변환 을 줄 이 고 데이터 변환 이 필요 한 것 이 디자인 의 문제 일 수도 있 지만 횟수 를 줄 이 는 것 은 프로그래머 가 할 수 있 는 일이 다.
C. 불필요 한 하위 조회 와 연결 표를 근절 하고 하위 조 회 는 실행 계획 에서 일반적으로 외부 연결 로 해석 되 며 불필요 한 연결 표 는 추가 비용 을 가 져 옵 니 다.
D. 같은 표 와 같은 조건 에 대한 여러 번 의 UPDATE 를 합병 합 니 다. 예 를 들 어

   
   
   
   
  1. UPDATE EMPLOYEE SET FNAME='HAIWER' 
  2. WHERE EMP_ID=' VPA30890F' UPDATE EMPLOYEE SET LNAME='YANG' 
  3. WHERE EMP_ID=' VPA30890F' 

이 두 문장 은 반드시 다음 문장 으로 합 쳐 야 한다
UPDATE EMPLOYEE SET FNAME='HAIWER',LNAME='YANG' WHERE EMP_ID=' VPA30890F'
E. UPDATE 작업 은 DELETE 작업 + INSERT 작업 의 형식 으로 분리 하지 마 십시오. 기능 은 같 지만 성능 차이 가 매우 큽 니 다.
 
5. 임시 표 와 표 변수의 용법 에 주의 하 십시오.
복잡 한 시스템 에서 임시 표 와 표 변 수 는 피하 기 어렵 습 니 다. 임시 표 와 표 변수의 용법 에 대해 주의해 야 합 니 다.
A. 문장 이 복잡 하고 연결 이 너무 많 으 면 임시 표 와 표 변수 로 단계별 로 완성 하 는 것 을 고려 할 수 있 습 니 다.
B. 만약 에 큰 표 의 같은 부분 데 이 터 를 여러 번 사용 해 야 한다 면 임시 표 와 표 변수 로 이 부분 데 이 터 를 임시 저장 하 는 것 을 고려 합 니 다.
C. 여러 표 의 데 이 터 를 종합 하여 하나의 결 과 를 형성 하려 면 임시 표 와 표 변수 로 이 여러 표 의 데 이 터 를 단계별 로 모 으 는 것 을 고려 할 수 있 습 니 다.
D. 다른 상황 에서 임시 표 와 표 변수의 사용 을 제어 해 야 합 니 다.
E. 임시 표 와 표 변수 에 대한 선택 은 표 변수 가 메모리 에 있 고 속도 가 빠 르 므 로 표 변 수 를 먼저 선택해 야 한 다 는 말 이 많 지만 실제 사용 에서 발견 되 었 습 니 다.
(1) 임시 표 에 넣 어야 할 데이터 양 을 주로 고려 하 는데 데이터 양 이 많은 상황 에서 임시 표 의 속도 가 오히려 빠르다.
(2) 실행 시간 대 와 예상 실행 시간 (얼마나)
F. 임시 표 생 성에 대해 SELECT INTO 와 CREATE TABLE + INSERT INTO 를 사용 하 는 선택, 일반적인 상황 에서
SELECT INTO 는 CREATE TABLE + INSERT INTO 보다 훨씬 빠 르 고,
그러나 SELECT INTO 는 TEMPDB 의 시스템 시트 SYSOBJECTS, SYSINDEXES, SYSCOLUMNS 를 잠 그 고 다 중 사용자 의 병행 환경 에서 다른 프로 세 스 를 막 기 쉽다.
그래서 제 제안 은 병행 시스템 에서 가능 한 한 CREATE TABLE + INSERT INTO 를 사용 하고 빅 데이터 양의 단일 문 구 를 사용 할 때 SELECT INTO 를 사용 하 는 것 입 니 다.

좋은 웹페이지 즐겨찾기