«database-internals» 태그된 질문

데이터베이스 엔진의 내부 작업에 대한 기술적 인 질문이 있습니다.

1
삭제 대 절단
DELETE와 TRUNCATE명령 의 차이점에 대해 더 잘 이해하려고 합니다. 내부에 대한 나의 이해는 다음과 같은 내용을 따릅니다. DELETE-> 데이터베이스 엔진은 관련 데이터 페이지 및 행이 입력 된 모든 인덱스 페이지에서 행을 찾아서 제거합니다. 따라서 인덱스가 많을수록 삭제 시간이 오래 걸립니다. TRUNCATE -> 단순히 테이블의 모든 데이터 페이지를 제거하여 테이블의 내용을 …

4
테이블 정의의 열 순서가 중요합니까?
테이블을 정의 할 때는 목적에 따라 논리 그룹 및 그룹 자체의 열을 정렬하는 것이 좋습니다. 테이블에서 열의 논리적 순서는 개발자에게 의미를 전달하며 좋은 스타일의 요소입니다. 분명하다. 그러나 테이블에서 열의 논리적 순서가 스토리지 계층에서의 물리적 순서에 영향을 미치는지 또는 관심이있는 다른 영향이 있는지는 분명하지 않습니다. 스타일에 미치는 영향 외에도 열 순서가 …

2
XML 리더로 계획 최적화
여기에서 쿼리를 실행 하여 기본 확장 이벤트 세션에서 교착 상태 이벤트를 가져옵니다. SELECT CAST ( REPLACE ( REPLACE ( XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph FROM (SELECT CAST (target_data AS XML) AS TargetData FROM sys.dm_xe_session_targets st JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address WHERE [name] …

1
스캔이이 술어를 찾는 것보다 빠른 이유는 무엇입니까?
예상치 못한 것으로 설명되는 쿼리 성능 문제를 재현 할 수있었습니다. 내부에 중점을 둔 답변을 찾고 있습니다. 내 컴퓨터에서 다음 쿼리는 클러스터형 인덱스 스캔을 수행하며 약 6.8 초의 CPU 시간이 걸립니다. SELECT ID1, ID2 FROM two_col_key_test WITH (FORCESCAN) WHERE ID1 NOT IN ( N'1', N'2',N'3', N'4', N'5', N'6', N'7', N'8', N'9', …

1
통계는 SQL Server에서 실제로 어디에 저장됩니까?
Query Optimizer가 사용하는 통계는 SQL Server 데이터베이스 파일 및 버퍼 풀 내부에 실제로 저장되는 위치는 어디입니까? 보다 구체적으로, DMV 및 / 또는 DBCC를 사용하여 통계에 사용되는 페이지를 파악할 수있는 방법이 있습니까? 저는 SQL Server 2008 내부 및 SQL Server 내부 및 문제 해결 서적을 모두 보유하고 있으며 통계의 물리적 구조에 …

1
동일한 LOB 데이터에 액세스 할 때 논리적 읽기가 다름
다음은 동일한 데이터를 읽지 만 매우 다른 논리적 읽기를보고하는 세 가지 간단한 테스트입니다. 설정 다음 스크립트는 100 개의 동일한 행이있는 테스트 테이블을 작성합니다. 각 테이블에는 행 외부에 저장하기에 충분한 데이터 가있는 xml 열이 포함되어 있습니다. 내 테스트 데이터베이스에서 생성 된 xml 의 길이는 각 행에 대해 20,204 바이트입니다. -- Conditional …

2
NOT NULL에서 NULL로 열 변경-어떤 일이 벌어지고 있습니까?
2.3B 개의 행이있는 테이블이 있습니다. 열을 NOT NULL에서 NULL로 변경하려고합니다. 열은 하나의 색인 (클러스터 또는 PK 색인이 아님)에 포함됩니다. 데이터 유형이 변경되지 않습니다 (INT입니다). 단지 무효 성입니다. 진술은 다음과 같습니다. Alter Table dbo.Workflow Alter Column LineId Int NULL 작업을 중지하기 전에 작업이 10을 초과합니다 (차단 작업이므로 시간이 너무 오래 걸리기 …

1
해시 키 프로브 및 잔차
다음과 같은 쿼리가 있다고 가정 해보십시오. select a.*,b.* from a join b on a.col1=b.col1 and len(a.col1)=10 위 쿼리에서 해시 조인을 사용하고 잔차가 있다고 가정하면 프로브 키는 col1이고 잔차는입니다 len(a.col1)=10. 그러나 다른 예를 거치면서 프로브와 잔차가 모두 같은 열임을 알 수 있습니다. 아래는 내가 말하려는 것에 대한 설명입니다. 질문: select * …

4
ID 열의 인덱스가 클러스터되지 않아야합니까?
식별 컬럼이있는 테이블의 경우 식별 컬럼에 대해 클러스터 또는 비 클러스터 PK / 고유 인덱스를 작성해야합니까? 그 이유는 다른 인덱스가 쿼리에 대해 생성되기 때문입니다. 비 클러스터형 인덱스 (힙에서)를 사용하고 인덱스에 포함되지 않은 열을 반환하는 쿼리는 추가 클러스터 된 인덱스 b- 트리 탐색 단계가 없기 때문에 논리 I / O (LIO)를 …

2
열 크기가 증가한 후 색인을 작성하는 데 시간이 더 걸리는 이유는 무엇입니까?
공급 업체는 전체 데이터베이스의 거의 모든 열에서 열 너비를 변경했습니다. 데이터베이스는 약 7TB, 9000+ 테이블입니다. 550 억 개의 행이있는 테이블에 인덱스를 작성하려고합니다. 공급 업체의 업그레이드 전에 2 시간 내에 색인을 만들 수있었습니다. 이제 며칠이 걸립니다. 그들이 한 것은 varchar (xx) 크기를 varchar (256)로 늘리는 것입니다. 따라서 대부분의 열은 varchar (18) …

2
리프 페이지와 비 리프 페이지의 차이점은 무엇입니까?
인덱스 사용 보고서를 실행하고 있으며 Leaf 및 Non-leaf 의 정의를 얻으려고합니다 . 리프 및 비 리프 삽입, 업데이트, 삭제, 페이지 병합 및 페이지 할당이 모두있는 것 같습니다. 나는 그것이 무엇을 의미하는지 또는 하나가 다른 것보다 낫다는 것을 정말로 모른다. 누군가가 각각에 대한 간단한 정의 를 제공하고 Leaf 또는 Non-leaf가 중요한 …

1
클러스터형 열 저장소의 비 클러스터형 인덱스 저장소
SQL Server에서 행 저장소 테이블의 고유하지 않은 비 클러스터형 인덱스 는 모든 수준의 비 클러스터형 인덱스 구조 에서 기본 개체의 책갈피 (RID 또는 클러스터링 키)를 통합합니다 . 북마크는 모든 인덱스 수준에서 비 클러스터형 인덱스 키의 일부로 저장됩니다 . 반면, 비 클러스터형 인덱스가 고유 하면 책갈피는 키의 일부가 아닌 인덱스 의 …

4
CTE를 사용한 SQL 함수의 PostgreSQL 9.6 열 삭제 및 부작용
A, B 및 D와 같은 3 개의 열이있는 테이블이 있고 D를 현재 위치로 대체하기 위해 C를 말해야하는 경우 다음 방법을 사용합니다. C와 D2로 2 개의 새로운 컬럼을 소개합니다. D의 내용을 D2로 복사하십시오. D를 삭제하십시오. D2를 D로 이름을 바꿉니다. 새로운 주문은 A, B, C 및 D입니다. 나는 이것이 지금까지 아무런 문제가 …

1
varchar (n)의 오버 헤드는 무엇입니까?
Postgres 문서 에서 varchar(n)유형 에 관한 이 조각의 의미를 묻고 싶었습니다 . 짧은 문자열 (최대 126 바이트)에 대한 스토리지 요구 사항은 1 바이트 + 실제 문자열이며 문자의 경우 공백을 포함합니다. 긴 문자열은 1 대신 4 바이트의 오버 헤드를 갖습니다. varchar(255)필드 가 있다고 가정 해 봅시다 . 그리고 지금, 다음 진술 …

1
히스토그램 외부의 카디널리티 추정
설정 카디널리티 예상을 이해하는 데 문제가 있습니다. 테스트 설정은 다음과 같습니다. 2010 버전의 스택 오버플로 데이터베이스 SQL Server 2017 CU15 + GDR (KB4505225)-14.0.3192.2 새로운 CE (호환성 수준 140) 이 proc이 있습니다. USE StackOverflow2010; GO CREATE OR ALTER PROCEDURE #sp_PostsByCommentCount @CommentCount int AS BEGIN SELECT * FROM dbo.Posts p WHERE p.CommentCount …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.