데이터베이스 관리자

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

3
SQL Server : 현재 세션에 대해서만 업데이트 트리거를 비활성화하는 방법은 무엇입니까?
SQL Server 2008 R2에서 일하고 있습니다. tiu_benefit 이라는 AFTER INSERT, UPDATE 트리거 가있는 테이블 이점 이 있습니다 . 이 테이블에 대해 UPDATE 문을 작성하여 1 행을 업데이트하고 싶지만 트리거를 시작하고 싶지 않습니다. UPDATE 전에 트리거를 비활성화 한 다음 UPDATE 후에 트리거를 활성화 할 수 있다는 것을 알고 있습니다. DISABLE TRIGGER …

1
날짜 비교로 하위 쿼리 수행 불량
하위 쿼리를 사용하여 일치하는 필드가있는 모든 이전 레코드의 총 개수를 찾는 경우 성능이 50k 레코드만큼 적은 테이블에서 끔찍합니다. 하위 쿼리가 없으면 쿼리는 몇 밀리 초 안에 실행됩니다. 하위 쿼리를 사용하면 실행 시간이 1 분 이상입니다. 이 쿼리의 결과는 다음과 같아야합니다. 지정된 기간 내에 해당 레코드 만 포함하십시오. 날짜 범위에 관계없이 …

1
하위 쿼리 내의 COALESCE가 NULL을 반환하는 이유는 무엇입니까?
이 스키마가 주어지면 : CREATE TABLE #TEST_COALESCE ( Id int NOT NULL, DateTest datetime NOT NULL, PRIMARY KEY (Id, DateTest) ); INSERT INTO #TEST_COALESCE VALUES (1, '20170201'), (1, '20170202'), (1, '20170203'), (2, '20170204'), (2, '20170205'), (2, '20170206'); 하위 쿼리 내에서 COALESCE를 사용하면 NULL을 반환합니다. SELECT t1.Id, t1.DateTest, (SELECT TOP 1 …
15 sql-server 

6
많은 양의 데이터에 대한 행 간 차이를 자세히 쿼리
각각> 300 개의 열이있는 여러 개의 큰 테이블이 있습니다. 내가 사용하는 응용 프로그램은 보조 테이블에서 현재 행의 복사본을 만들어 변경된 행의 "아카이브"를 만듭니다. 사소한 예를 생각해보십시오. CREATE TABLE dbo.bigtable ( UpdateDate datetime, PK varchar(12) PRIMARY KEY, col1 varchar(100), col2 int, col3 varchar(20), . . . colN datetime ); 보관 테이블 …


2
300,000 개의 행 테이블에서 실행하는 데 11 분이 걸리는 조인 쿼리
아래 쿼리는 실행하는 데 11 분 이상이 걸립니다. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM …

3
pgAdmin 환경 설정의 이진 경로
PostgreSQL을 설치했는데 .backup다른 플랫폼으로 업로드하기 위해받은 큰 파일 을 복원해야했기 때문에 (다른 사람이 다른 방법으로 내보낼 수없는 3 천 8 백만 행) pgAdmin 4에서 "복원"하려고하면 다음 메시지가 나타납니다. 환경 설정 대화 상자에서 PostgreSQL 바이너리 경로를 구성하십시오. 이것이 PostgreSQL 폴더의 경로입니까? PostgreSQL 사이트에서 이에 대한 설명서를 찾을 수 없습니다. 내가 찾을 …

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

7
오류 로그 위치?
MySQL은 로그 파일을 작성합니까? 그렇다면, 경로는 무엇입니까 (우분투 / 리눅스에서)?
15 mysql  log 

2
ASCII가 아닌 문자를 확인하는 방법
VARCHAR 필드에 ASCII가 아닌 문자가 있는지 확인하는 가장 좋은 방법은 무엇입니까? CHAR(1)를 통해 CHAR(31)및 CHAR(127)통해서 CHAR(255). 나는 사용하려고 시도 PATINDEX하고 다음 문제에 부딪쳤다. 낮은 범위를 확인하면 제대로 작동했습니다. SELECT * FROM mbrnotes WHERE PATINDEX('%[' + CHAR(1)+ '-' +CHAR(31)+']%',LINE_TEXT) > 0 내 데이터에는 0x1E의 세 개의 레코드가 있었고 모두 세 곳에서 …

2
하위 쿼리를 사용하여 SQL을 삭제하는 방법
테이블에서 중복 레코드를 삭제하기 위해 개발자 중 한 명이 다음 코드를 추가했습니다. DELETE SubQuery FROM ( SELECT ID ,FK1 ,FK2 ,CreatedDateTime ,ROW_NUMBER() OVER(PARTITION BY FK1, FK2 ORDER BY CreatedDateTime) AS RowNumber FROM Table ) AS SubQuery WHERE RowNumber > 1 코드를 검토 할 때 코드가 작동하지 않는다고 가정했지만 테스트 환경 …

2
SQL Server 시스템 테이블을 조각 모음 할 수 있습니까?
우리는 많은 수의 테이블이 생성되고 삭제되는 여러 데이터베이스를 가지고 있습니다. 우리가 알 수 있듯이 SQL Server는 시스템 기본 테이블 에 대한 내부 유지 관리를 수행하지 않으므로 시간이 지남에 따라 매우 조각화되고 크기가 커질 수 있습니다. 이는 버퍼 풀에 불필요한 압력을 가하고 데이터베이스의 모든 테이블 크기 계산과 같은 조작 성능에 부정적인 …

1
여러 개의 누락 된 인덱스가있는 실행 계획
'실제 실행 계획 포함'으로 쿼리를 실행하면 계획에서 누락 된 인덱스도 제안합니다. 색인 세부 사항은 MissingIndexesXML의 태그 안에 있습니다. 계획에 여러 개의 색인 제안이 포함 된 상황이 있습니까? 다른 SQL 쿼리를 시도했지만 둘 이상의 누락 된 인덱스를 생성하는 쿼리를 만들 수 없습니다.

2
최신 버전의 SQL Server가 덜 안정적입니까?
우리의 데이터베이스 아키텍트는 SQL Server 2014가 2012 년에 비해 성능 및 안정성 이점이 없기 때문에 2012 년에 비해 좋지 않은 선택이라고 고객에게 말했습니다. 내가 읽은 모든 것은 이것과 모순됩니다. Aaron Bertrand는 MS가 읽은 모든 백서와 정반대의 내용이 모두 동의 한다고 말합니다 . 내가 놓친 2012 년 동안 2014 년을 선택하는 …

3
EXISTS 쿼리가 인덱스 검색 대신 인덱스 스캔을 수행하는 이유는 무엇입니까?
일부 쿼리를 최적화하기 위해 노력하고 있습니다. 아래 쿼리의 경우 SET STATISTICS IO ON; DECLARE @OrderStartDate DATETIME2 = '27 feb 2016'; DECLARE @OrderEndDate DATETIME2 = '28 feb 2016'; SELECT o.strBxOrderNo , o.sintOrderStatusID , o.sintOrderChannelID , o.sintOrderTypeID , o.sdtmOrdCreated , o.sintMarketID , o.strOrderKey , o.strOfferCode , o.strCurrencyCode , o.decBCShipFullPrice , o.decBCShipFinal , …

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