ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MSSQL : μ €μž₯ ν”„λ‘œμ‹œμ €
    DB 2020. 2. 19. 23:32
    λ°˜μ‘ν˜•



    1.
    μ •μ˜

    λ°μ΄ν„°λ² μ΄μŠ€ ν”„λ‘œκ·Έλž¨

    2.
    μ €μž₯ ν”„λ‘œμ‹œμ €μ˜ 이점

    1) μΊ‘μŠν™”

    μ €μž₯ ν”„λ‘œμ‹œμ € 둜직이 λ³€κ²½λ˜μ–΄λ„ 맀개 λ³€μˆ˜ ν˜•νƒœμ— λ³€ν™”κ°€ μ—†λ‹€λ©΄ μ‚¬μš©μžμ™€ μ‘μš©ν”„λ‘œκ·Έλž¨μ€ 영ν–₯을 받지 μ•Šκ³  λ‘œμ§μ„ μ¦‰μ‹œ λ³€κ²½ 받을 수 있음 

    λ§Œμ•½ ν”„λ‘œμ‹œμ €κ°€ μ‹€ν–‰λ˜μ–΄ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” κ³Όμ • 쀑,  λ‹€λ₯Έ μ΄λ²€νŠΈκ°€ μ€‘λ³΅μœΌλ‘œ μΌμ–΄λ‚˜ 가비지 데이터가 생겨도 κ·Έ μ•ˆμ— ROLLBACKν•΄μ£ΌλŠ” 쿼리λ₯Ό λ„£μœΌλ©΄ 데이터 검증이 κ°€λŠ₯

    2) μ„±λŠ₯ 

    μ €μž₯된 μ‹€ν–‰κ³„νšμ„ μ‚¬μš©ν•¨μœΌλ‘œμ¨ CPUλ₯Ό μ ˆμ•½ν•˜κ³  μ΅œμ ν™”μ— κ±Έλ¦¬λŠ” μ‹œκ°„μ„ 단좕할 수 있음

    3) λ³΄μ•ˆκ³„μΈ΅μœΌλ‘œ μ‚¬μš© : κ°œμ²΄μ— μ ‘κ·Όν•  κΆŒν•œμ„ 직접 λΆ€μ—¬ν•˜μ§€ μ•Šκ³ , μ €μž₯ ν”„λ‘œμ‹œμ € μ‹€ν–‰ κΆŒν•œλ§Œ λΆ€μ—¬ν•˜μ—¬ κ°œμ²΄μ— λŒ€ν•œ λΆˆν•„μš”ν•œ 접근을 μ œν•œν•  수 있음, κΆŒν•œλΆ€μ—¬μ‹œ 싀행에 λŒ€ν•œ 결과도 λ‹Ήμ—°νžˆ κΆŒν•œμ„ 가진 μ‚¬λžŒλ§Œ λ³Ό 수 있음

    3.
    일반 SQLλ¬Έκ³Ό μ €μž₯ ν”„λ‘œμ‹œμ €μ˜ μ²˜λ¦¬κ³Όμ •

     

    1) 일반 SQL문

    β‘  ꡬ문뢄석 : SYNTAX(ꡬ문)체크, 문법이 μ˜¬λ°”λ₯Έκ°€ λ˜λŠ” κ·Έ ν…Œμ΄λΈ”μ΄λ‚˜ 컬럼이 μžˆλŠ”μ§€ λ¨Όμ € 확인

    (쿼리문 μ‹€ν–‰μ‹œ λ©”μ‹œμ§€μ— 'ꡬ문이 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€' κ°™μ€κ²Œ 뜬 경우 μ—¬κΈ°μ„œ 처리된 것)

    β‘‘ ν‘œμ€€ν™” : 각 κ°œμ²΄λ“€μ˜ 이름을 ν™•μΈν•˜κ³  λΆˆν•„μš”ν•œ ꡬ문을 μ œκ±°ν•¨ (ansi쿼리둜 λ³€ν™˜)

    β‘’ λ³΄μ•ˆμ κ²€ : ꡬ문을 μ‹€ν–‰ν•œ μ‚¬μš©μžμ˜ κΆŒν•œμ„ 확인함

    β‘£ μ΅œμ ν™” : κ°€μž₯ λΉ λ₯Έ μ„±λŠ₯을 μœ„ν•΄ 색인, 쑰인, 잠금 등을 κ²°μ •ν•˜μ—¬ μ΅œμ ν™”λœ μ‹€ν–‰κ³„νšμ„ λ§Œλ“¦ (μ˜΅ν‹°λ§ˆμ΄μ§•)
    *
    이 λ•Œ 색인 쑰인 등을 κ²°μ •ν•˜λŠ” μš”μ†ŒλŠ” 쑰건문, μ΅œμ ν™” κ³Όμ •μ—μ„œ μ‹€ν–‰κ³„νšμ΄ λ³„λ„μ˜ λ©”λͺ¨λ¦¬(μΊμ‹œ)에 μ €μž₯됨

    β‘€ 컴파일 : μ‹€ν–‰κ³„νšμ„ 컴파일 ν•œ ν›„ μΊμ‹œ(μΊμ‹œμ— μ €μž₯될 수 μžˆλŠ” μ‹€ν–‰κ³„νšμ€ ν•œμ •λ˜μ–΄ μžˆμ–΄μ„œ, μ΅œκ·Όμ— μ‚¬μš©λœ μ‹€ν–‰κ³„νšμ΄ μƒλ‹¨μœΌλ‘œ 였게됨, κ·Έλž˜μ„œ μžλ™μœΌλ‘œ μ‚¬μš©λ˜μ§€μ•Šμ€ μ‹€ν–‰κ³„νšμ€ μ‚­μ œλ¨)에 등둝

    β‘₯ μ‹€ν–‰ : 컴파일 된 ꡬ문을 μ‹€ν–‰
    *
    일반 SQL문은 ꡬ문이 쑰금만 달라도 λ‹€λ₯Έ 쿼리문으둜 μΈμ‹λ˜μ–΄, μ‹€ν–‰ κ³„νšμ΄ μž¬μ‚¬μš© 될 κ°€λŠ₯성이 높지 μ•ŠμŒ

    κ²°κ΅­ λΉˆλ²ˆν•œ 쿼리 컴파일둜 인해 CPU와 λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ„ λ†’μž„

    2)
    μ €μž₯ ν”„λ‘œμ‹œμ €
    β‘  ꡬ문뢄석 : ν‚€μ›Œλ“œλ₯Ό λΆ„λ¦¬ν•˜κ³  문법을 검사함

    β‘‘ μ§€μ—°λœ 이름확인 : μ €μž₯ ν”„λ‘œμ‹œμ €λ₯Ό λ§Œλ“€ λ•Œ ν•΄λ‹Ήκ°œμ²΄μ˜ 이름이 μ‘΄μž¬ν•˜λŠ”μ§€ ν™•μΈν•˜μ§€ μ•ŠμŒ

    β‘’ λ³΄μ•ˆμ κ²€ : μ €μž₯ ν”„λ‘œμ‹œμ €λ₯Ό λ§Œλ“€ 수 μžˆλŠ” κΆŒν•œμ΄ μžˆλŠ”μ§€ 확인

    β‘£ κ²°κ³Όμ €μž₯ : μ‹œμŠ€ν…œ ν…Œμ΄λΈ”μ— 개체의 정보λ₯Ό μ €μž₯

    (* 일반적인 과정일 뿐 λͺ¨λ“  쿼리와 λͺ¨λ“  ν”„λ‘œμ‹œμ €κ°€ μ΄λ ‡κ²Œ λ™μž‘ν•œλ‹€λŠ” 것은 μ•„λ‹˜ ! )

    4.
    μž¬μ‚¬μš©
    λ§€κ°œλ³€μˆ˜(νŒŒλΌλ―Έν„°)ν™”λœ 쿼리
    λ₯Ό μ§ λ‹€λ©΄ μ‚¬μš©κ³„νšμ„ μž¬μ‚¬μš©ν•  μˆ˜κ°€ 있음


    1)
    μƒμˆ˜κ°’(VALUEκ°’)이 λ°”λ€ŒλŠ” 경우 계속 μƒˆλ‘œμš΄ μ‹€ν–‰κ³„νšμ„ λ§Œλ“€μ–΄μ„œ μž¬μ‚¬μš© λΆˆκ°€
    2)
    쿼리 μž‘μ„±λ²•μ— 따라 μž¬μ‚¬μš©μ— λŒ€ν•œ 처리λ₯Ό λ‹€λ₯΄κ²Œ ν•΄ 쀄 수 있음 (μΌλ°˜μΏΌλ¦¬μ—μ„œλ„ μ‹€ν–‰κ³„νš μž¬μ‚¬μš© κ°€λŠ₯)

     

    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.