SqlDependency (SQL Server)

SqlDependency둜 λ³€κ²½ λ‚΄μš© 감지

μ§€μ›λ˜λŠ” SELECT λ¬Έ

λ‹€μŒ μš”κ΅¬ 사항을 λ§Œμ‘±ν•˜λŠ” SELECT 문에 λŒ€ν•΄μ„œλŠ” 쿼리 μ•Œλ¦Όμ΄ μ§€μ›λ©λ‹ˆλ‹€.

  • SELECT 문에 μžˆλŠ” μ˜ˆμƒ 열은 λͺ…μ‹œμ μœΌλ‘œ ν‘œμ‹œλ˜μ–΄μ•Ό ν•˜λ©° ν…Œμ΄λΈ” 이름은 두 λΆ€λΆ„μœΌλ‘œ κ΅¬μ„±λœ μ΄λ¦„μœΌλ‘œ ν•œμ •λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 즉, λ¬Έμ—μ„œ μ°Έμ‘°λ˜λŠ” λͺ¨λ“  ν…Œμ΄λΈ”μ€ 같은 λ°μ΄ν„°λ² μ΄μŠ€μ— μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λ³„ν‘œ(*) λ˜λŠ” table_name.* ꡬ문을 μ‚¬μš©ν•˜μ—¬ 열을 μ§€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λͺ…λͺ…λ˜μ§€ μ•Šμ€ μ—΄μ΄λ‚˜ μ€‘λ³΅λœ μ—΄ 이름을 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” κΈ°λ³Έ ν…Œμ΄λΈ”μ„ μ°Έμ‘°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” 계산 열이 μžˆλŠ” ν…Œμ΄λΈ”μ„ μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œ GROUP BY 식이 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” ν•œ SELECT 문에 μžˆλŠ” μ˜ˆμƒ μ—΄μ—λŠ” 집계 식이 포함될 수 μ—†μŠ΅λ‹ˆλ‹€. GROUP BY 식이 제곡된 경우 선택 λͺ©λ‘μ—λŠ” 집계 ν•¨μˆ˜ COUNT_BIG() λ˜λŠ” SUM()이 포함될 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ Null ν—ˆμš© 열에 λŒ€ν•΄μ„œλŠ” SUM()이 μ§€μ •λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ¬Έμ—μ„œλŠ” HAVING, CUBE λ˜λŠ” ROLLUP을 μ§€μ •ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • κ°„λ‹¨ν•œ μ‹μœΌλ‘œ μ‚¬μš©λ˜λŠ” SELECT 문에 μžˆλŠ” μ˜ˆμƒ 열은 두 번 이상 ν‘œμ‹œλ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” PIVOT λ˜λŠ” UNPIVOT μ—°μ‚°μžκ°€ ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” UNION, INTERSECT λ˜λŠ” EXCEPT μ—°μ‚°μžκ°€ ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λ·°λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” DISTINCT, COMPUTE λ˜λŠ” COMPUTE BYλ‚˜ INTOκ°€ ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” μ„œλ²„ μ „μ—­ λ³€μˆ˜(@@variable_name)λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” νŒŒμƒ ν…Œμ΄λΈ”, μž„μ‹œ ν…Œμ΄λΈ” λ˜λŠ” ν…Œμ΄λΈ” λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ λ˜λŠ” μ„œλ²„λ‘œλΆ€ν„°μ˜ ν…Œμ΄λΈ”μ΄λ‚˜ λ·°λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” ν•˜μœ„ 쿼리, μ™ΈλΆ€ 쑰인 λ˜λŠ” 자체 쑰인이 ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” 큰 개체 μœ ν˜•μΈ text, ntext 및 imageλ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” CONTAINS λ˜λŠ” FREETEXT 전체 ν…μŠ€νŠΈ μ‘°κ±΄μžκ°€ μ‚¬μš©λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” OPENROWSET 및 OPENQUERYλ₯Ό λΉ„λ‘―ν•œ ν–‰ μ§‘ν•© ν•¨μˆ˜κ°€ μ‚¬μš©λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” AVG, COUNT(*), MAX, MIN, STDEV, STDEVP, VAR λ˜λŠ” VARP와 같은 집계 ν•¨μˆ˜κ°€ μ‚¬μš©λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λ“±κΈ‰ μ§€μ • 및 κΈ°κ°„ 이동 ν•¨μˆ˜μ™€ 같은 비결정적인 ν•¨μˆ˜κ°€ μ‚¬μš©λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” μ‚¬μš©μž μ •μ˜ 집계가 ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” μΉ΄νƒˆλ‘œκ·Έ 뷰와 동적 관리 뷰와 같은 μ‹œμŠ€ν…œ ν…Œμ΄λΈ”μ΄λ‚˜ λ·°λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” FOR BROWSE 정보가 ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” 큐λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” λ³€κ²½ 및 κ²°κ³Ό λ°˜ν™˜μ΄ λΆˆκ°€λŠ₯ν•œ(예: WHERE 1=0) 쑰건 문이 ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” READPAST 잠금 힌트λ₯Ό μ§€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” Service Broker 큐λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” λ™μ˜μ–΄λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—λŠ” double/real 데이터 ν˜•μ‹ 기반의 비ꡐ λ˜λŠ” 식이 ν¬ν•¨λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

  • λ¬Έμ—μ„œλŠ” TOP 식이 μ‚¬μš©λ˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

+ μΆ”κ°€

  • whereμ ˆμ΄λ‚˜ order by 등에 λ‚˜μ˜€λŠ” μΉΌλŸΌνƒ€μž…μ΄ DateTime이면 μ½”λ“œμ—μ„œ invalid λ₯Ό λ°˜ν™˜

  • λ”°λΌμ„œ Convert(varchar(10), MachineTime, 120) 처럼 칼럼 νƒ€μž…μ„ λ³€κ²½ν•˜μ—¬ 쿼리 μž‘μ„±

Last updated