뎁스노트 / 데이터베이스 / MS SQL

데이터베이스

디베이
디베이·2024-10-22
데이터베이스 직군은 이제 단순히 데이터베이스 관리만으로는 충분하지 않은 시대에 접어들었습니다. 과거에는 Oracle 같은 RDBMS 중심의 데이터베이스 관리자(DBA) 역할만으로도 높은 연봉과 안정성을 보장받을 수 있었지만, IT 환경의 급속한 변화로 인해 이제는 다양한 역량이 요구됩니다. 특히 오픈소스 DB와 클라우드 환경이 보편화되면서 DBA 역할은...
yous3163yous3163· 8년전

질문인덱스를 타지않는 쿼리

인덱스를 타지 않는 쿼리로 다음과 같은 경우가 있는데  테스트결과 빨간색의 경우에는 확인을 하였습니다. 하지만 초록색의 결과는 실행계획을 확인해보았을 때 인덱스를 타는걸로 보여지는데 왜 그럴까요..?   -LIKE ‘%문자열%’로 검색하는 경우 SELECT * FROM TGOLFZON WHERE UserName = ‘%곽%’ -> UserName = ‘곽%’   -조건 절에 IS NULL , IS NOT NULL 구문을 사용하는 경우   -부정 연산자(!=,<>,NOT IN, NOT EXISTS)를 사용하는 경우 NOT일 경우 무조건 인덱스를 안타는 것이 아니라 타지만 일반적으로 NOT에 사용된 값이 아닌 데이터 비율이 높은 경우가 많기 때문에 인덱스를 타지 않는다.   -내부적인 데이터 형이 변경될 경우 SELECT * FROM TGOLFZON WHERE UserNo = ’33’ -> UserNo= 33   -OR 구문을 사용하는 경우 INDEX FULL SCAN 을 타게 됨   -인덱스 컬럼 절이 변경될 경우 SELECT * FROM TGOLFZON WHERE CashAmt * 100 > 10000 -> CashAmt = 10000/100
3.3K
1
0
kimho
kimho·2019-05-10
MS SQL에서는 NULL도 인덱싱이 될 수 있습니다.  
yous3163yous3163· 8년전

질문클러스터드, 논클러스터드 인덱스 생성 순서

어떤 것을 먼저 생성해야하고, 이유에 대해 아시는분 계신가요?
2.2K
2
0
yous3163
yous3163·2019-05-08
자문자답이 된거 같지만 찾아서 공유드립니다. 결과론 적으론 두 개의 인덱스를 혼합할 경우 구조는 같다. 클러스터드와 넌클러스터드 인덱스를 같이 사용할 경우에는 넌클러스터드 인덱스가 가리키는 위치가 클러스터드 인덱스의 키 값을 가지게 된다. (만약 클러스터드형 인덱스가 없었다면 넌클러스터드 인덱스가 가리키는 위치는 ‘데이터페이지번호 + #...
·2019-05-08
yous3163yous3163· 8년전

질문isolation 과 with nolock 관계

nolock 이라는 락힌트를 공부하다가 DB isolation 라는 부분을 공부하고있는데 이 둘의 관계를 이해하기 쉽게 설명해주실 분을 찾고있습니다 ㅠㅠ
2.3K
1
0
kimho
kimho·2019-04-15
DB를 통해서 데이터를 조회하거나(SELECT), 저장/변경/삭제(INSERT,UPDATE,DELETE)를 할 수 있는데 하나의 DB에 여러 사람들이 접속해서 데이터를 조회하거나 변경할 수 있습니다.   그런데 동시에 여러 사람이 하나의 DB에 접속하다보면 동시성의 문제가 발생합니다. 예를 들면, 어떤 접속에 의해 데이터가 변경되고 있는데 ...