데이터베이스 관리자

데이터베이스 기술을 향상시키고 커뮤니티의 다른 사람들에게서 배우고 자하는 데이터베이스 전문가를위한 Q & A

6
항상 단일 정수 열을 기본 키로 사용하는 단점은 무엇입니까?
내가 작업하는 하나의 웹 응용 프로그램 내에서 모든 데이터베이스 작업은 Entity Framework ORM에 정의 된 일부 일반 리포지토리를 사용하여 추상화됩니다. 그러나 일반 리포지토리를 단순하게 디자인하려면 관련된 모든 테이블이 고유 정수 ( Int32C #, intSQL)를 정의해야합니다 . 지금까지는 항상 테이블의 PK였으며 또한 IDENTITY. 외래 키가 많이 사용되며 이러한 정수 열을 참조합니다. …

7
SQL Server에서 숫자 범위 (간격) 검색 최적화
이 질문은 IP 범위 검색 최적화 와 비슷 합니까? 그러나 그 중 하나는 SQL Server 2000으로 제한됩니다. 다음과 같이 구조화되고 채워진 테이블에 천만 개의 범위가 임시로 저장되어 있다고 가정하십시오. CREATE TABLE MyTable ( Id INT IDENTITY PRIMARY KEY, RangeFrom INT NOT NULL, RangeTo INT NOT NULL, CHECK (RangeTo > RangeFrom), …

6
DateTime을 저장하는 기본 방법
날짜 및 시간 정보를 몇 가지 방법으로 저장할 수 있습니다. DateTime 정보를 저장하는 가장 좋은 방법은 무엇입니까? DateTime ?을 사용하여 두 개의 개별 열 또는 하나의 열에 날짜 및 시간 저장 그 접근법이 왜 더 나은지 설명 할 수 있습니까? (참고로 MySQL 문서에 링크하십시오. 질문은 MySQL에만 국한되지는 않습니다) : 날짜 …

4
차등 백업이 기본을 지정할 수없는 이유는 무엇입니까?
이것은 내 첫 DBA.SE 게시물이므로 실수를 알려주십시오. 감사합니다! 저는 새로운 DBA (IT 전문가가 아니고 다른 회사에서는 그 누구도 할 수 없음)이므로 기본적인 설명이 많을수록 좋습니다. 데이터베이스 백업 전략에 대해 읽었습니다 (또는이를 "복원 전략"이라고 함). 전체, 차등 및 트랜잭션 로그 백업의 기능을 이해하지만 차등 백업이 최신 전체 백업 만 기반으로 할 …

1
캐시 크기 및 예약 된 메모리 계획
실제 실행 계획을 포함하여 쿼리를 실행할 때 루트 연산자 ( SELECT)는 캐시 된 계획 크기 가 32KB 임을 알려줍니다 . 조인 쿼리 sys.dm_exec_cached_plans및 sys.dm_os_memory_objects해당 계획을 찾고, 그 값 말한다 pages_in_bytes및 max_pages_in_bytes캐시 된 계획의 크기와 일치 32768 (32킬로바이트를)입니다. 내가 이해하지 못하는 것은의 값인 sys.dm_exec_cached_plans.size_in_bytes49152 (48KB)의 의미입니다. 이 모든 열에서 BOL을 읽었으며 …


2
upsert에서 충돌하는 행의 ID를 얻는 방법은 무엇입니까?
(uuid) 및 (text)의 tag두 열 이있는 테이블 이 있습니다. 이제 테이블에 새 태그를 삽입하고 싶지만 태그가 이미 존재 하는 경우 기존 레코드 를 가져오고 싶습니다 .idnameid 나는 다음 ON CONFLICT DO NOTHING과 함께 사용할 수 있다고 가정 했다 RETURNING "id". INSERT INTO "tag" ("name") VALUES( 'foo' ) ON CONFLICT DO …

2
DBMS에 대소 문자를 구분하고 악센트를 구분하지 않는 데이터 정렬이 있습니까?
이 질문은 공급 업체 / 버전에 구애받지 않습니다. 영어를 구사하는 사람 (타이피스트, 작가)으로서, 단어가 올바르게 입력 될 것으로 기대하지만 반드시 올바른 억양이 올바른 방향으로 가고있는 것은 아닙니다. 샹젤리제 식당에서 클로이와 함께 쁘띠 뜨 호텔을 맛 보았고, garcon이 내 볶은 jalapeno 페이트를 가져 오기를 기다리는 동안 ... 당신은 그 아이디어를 얻습니다. …

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

2
임시 테이블이 탐색 및 책갈피 조회를 사용하는 동안 테이블 변수가 인덱스 스캔을 강제하는 이유는 무엇입니까?
테이블 변수를 사용하여 옵티마이 저가 인덱스 검색을 사용하지 못하고 북마크 조회와 인덱스 스캔을 사용하지 못하는 이유를 이해하려고합니다. 테이블 채우기 : CREATE TABLE dbo.Test ( RowKey INT NOT NULL PRIMARY KEY, SecondColumn CHAR(1) NOT NULL DEFAULT 'x', ForeignKey INT NOT NULL ) INSERT dbo.Test ( RowKey, ForeignKey ) SELECT TOP 1000000 …

8
기본 키 값이 변경되는 이유는 무엇입니까?
나는 ROWGUID의 최근의 개념을 연구하고 건너 온 한 이 질문입니다. 이 답변은 통찰력을 주었지만 기본 키 값을 변경한다는 언급으로 다른 토끼 구멍을 내 렸습니다. 필자는 항상 기본 키를 변경할 수 없다는 것을 이해하고 있으며,이 답변을 읽은 후 검색하면 모범 사례와 동일한 답변 만 제공했습니다. 어떤 상황에서 레코드 작성 후 기본 …

1
다중 문장 TVF 및 인라인 TVF 성능
Palindrome 질문 에 대한 답변 중 일부를 비교하면 (답을 삭제 한 이후 10k + 사용자 만 해당) 혼란스러운 결과가 나타납니다. 나는 표준 함수를 실행하는 것보다 더 빠를 것으로 생각 되는 다중 문, 스키마 바운드 TVF 를 제안 했습니다. 또한 아래에서 볼 수 있듯이 다중 명령문 TVF가 "인라인"될 것이라는 인상을 받았습니다. …

4
문자 (0x0000)를 포함하므로 FOR XML에서 데이터를 직렬화 할 수 없습니다.
큰 쿼리가 있고 (필요한 경우 여기에 게시 할)이 오류가 발생합니다. 메시지 6841, 수준 16, 상태 1, 줄 1 FOR XML에 'NoName'노드에 대한 데이터를 직렬화 할 수 없습니다. XML에 허용되지 않는 문자 (0x0000)가 포함되어 있기 때문입니다. FOR XML을 사용하여이 데이터를 검색하려면 이진, varbinary 또는 이미지 데이터 유형으로 변환하고 BINARY BASE64 지시문을 …

3
PostgreSQL을 버전 8.4에서 9.4로 업그레이드하는 방법은 무엇입니까?
PostgreSQL을 버전 8.4 에서 9.4 로 업그레이드하고 싶습니다 . 문서는 매우 나에게 분명하지 않다. 업그레이드를 수행하면 기존 데이터베이스가 손실됩니까? 업그레이드 후 기존 데이터베이스를 잃어 버릴 경우 어떻게 백업 할 수 있습니까? psql을 어떻게 업그레이드 할 수 있습니까? PostgreSQL이 CentOS 6.6 서버 에서 실행 중입니다 .

2
쿼리 계획 작성 비용을 측정하거나 찾는 방법은 무엇입니까?
매개 변수 스니핑으로 인해 "잘못된"실행 계획이 계획 캐시에 도착하여 저장 프로 시저의 후속 실행이 매우 느려지는 일반적인 경우가 있습니다. 로컬 변수 OPTIMIZE FOR ... UNKNOWN및 로이 문제를 "해결"할 수 있습니다 OPTION(RECOMPILE). 그러나 쿼리로 뛰어 들어 최적화하려고 할 수도 있습니다. 나는 여부를 결정하기 위해 노력하고있어 한다 수정 문제에 대한 제한 시간이 …

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