데이터베이스 관리자

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


2
검색 할 수없는 지속 형 계산 열의 인덱스
라는 Address영구 계산 열이있는 이라는 테이블 이 있습니다 Hashkey. 열은 결정적이지만 정확하지는 않습니다. 검색 할 수없는 고유 인덱스가 있습니다. 이 쿼리를 실행하면 기본 키를 반환합니다. SELECT @ADDRESSID= ISNULL(AddressId,0) FROM dbo.[Address] WHERE HashKey = @HashKey 나는이 계획을 얻는다 : 색인을 강요하면이 더 나쁜 계획을 얻습니다. 인덱스와 탐색을 모두 시도하고 강제하면 오류가 …

2
동일한 기능에 대한 동시 호출 : 교착 상태는 어떻게 발생합니까?
new_customer웹 응용 프로그램에서 내 함수를 초당 여러 번 (세션 당 한 번만) 호출합니다. 가장 먼저하는 일은 customer테이블을 잠그는 것입니다 ( '존재하지 않는 경우 삽입'-간단한 변형 upsert). 문서 에 대한 나의 이해는 new_customer이전의 모든 호출이 완료 될 때까지 다른 호출 이 단순히 대기해야한다는 것입니다. LOCK TABLE은 충돌하는 잠금이 해제 될 때까지 …

4
왜 키를 명시해야합니까?
나는 데이터베이스의 주제에 대해 매우 익숙하지 않으므로 무지하게 들릴 수 있지만 키가 테이블 내에서 명시되어야하는 이유가 궁금합니다. 이것은 주로 주어진 열 값이 각 행 내에서 고유해야한다는 것을 사용자에게 알리는 것입니까? 언급되지 않더라도 독창성은 여전히 ​​존재해야합니다.

4
SQL Server 교착 상태 보고서의 키를 값으로 변환하려면 어떻게해야합니까?
waitresource = "KEY : 9 : 72057632651542528 (543066506c7c)"와 관련하여 충돌이 발생했음을 알려주는 교착 상태 보고서가 있는데이를 볼 수 있습니다. <keylock hobtid="72057632651542528" dbid="9" objectname="MyDatabase.MySchema.MyTable" indexname="MyPrimaryKeyIndex" id="locka8c6f4100" mode="X" associatedObjectId="72057632651542528"> <resource-list> 내에 있습니다. 키의 실제 값을 찾을 수 있기를 원합니다 (예 : id = 12345). 해당 정보를 얻기 위해 어떤 SQL 문을 사용해야합니까?

1
'LIMIT 0, 1'과 'LIMIT 1'사이에 차이가 있습니까?
최근에 이러한 표기법이 다른 예제 코드를 발견했습니다. SELECT * FROM table LIMIT 0, 1 SELECT * FROM table LIMIT 1 첫 번째 인수는 내가 틀리지 않으면 오프셋으로 간주되어야합니다.이 두 쿼리의 목적은 선택을 첫 번째 행까지 제한하는 것입니다 table 오프셋을 제거 할 때 부정적인 영향이 있습니까 / 처음에이를 제거 할 수 …
15 mysql 

1
sp_cursoropen 및 병렬 처리
머리를 get 수없는 쿼리로 성능 문제가 발생했습니다. 커서 정의에서 쿼리를 가져 왔습니다. 이 쿼리는 실행하는 데 몇 초가 걸립니다 SELECT A.JOBTYPE FROM PRODROUTEJOB A WHERE ((A.DATAAREAID=N'IW') AND ((A.CALCTIMEHOURS<>0) AND (A.JOBTYPE<>3))) AND EXISTS (SELECT 'X' FROM PRODROUTE B WHERE ((B.DATAAREAID=N'IW') AND (((((B.PRODID=A.PRODID) AND ((B.PROPERTYID=N'PR1526157') OR (B.PRODID=N'PR1526157'))) AND (B.OPRNUM=A.OPRNUM)) AND (B.OPRPRIORITY=A.OPRPRIORITY)) AND …


2
원자 트랜잭션에서 고유 한 위반 방지
PostgreSQL에서 원자 트랜잭션을 만들 수 있습니까? 이 행에 테이블 범주가 있다고 가정하십시오. id|name --|--------- 1 |'tablets' 2 |'phones' 그리고 열 이름에는 고유 한 제약 조건이 있습니다. 내가 시도하면 : BEGIN; update "category" set name = 'phones' where id = 1; update "category" set name = 'tablets' where id = 2; …

1
부분적으로 업데이트 된 행을 읽습니까?
SSMS에서 두 개의 별도 세션에서 실행되는 두 개의 쿼리가 있다고 가정 해 보겠습니다. 첫 세션 : UPDATE Person SET Name='Jonny', Surname='Cage' WHERE Id=42 두 번째 세션 : SELECT Name, Surname FROM Person WITH(NOLOCK) WHERE Id > 30 그것은 가능성이 SELECT문을 가진 인스턴스 하나에 대한 반 업데이트 된 행을 읽을 수 …

2
데이터베이스의 암호화 인증서를 나열하기위한 쿼리
인스턴스에서 각 데이터베이스를 암호화하는 데 사용되는 인증서 다음을 사용하여 데이터를 얻을 수 있지만 쿼리를 작성하는 방법 USE master GO -- this provides the list of certificates SELECT * FROM sys.certificates -- this provides the list of databases (encryption_state = 3) is encrypted SELECT * FROM sys.dm_database_encryption_keys WHERE encryption_state = 3; …

2
varchar 열의 크기를 줄이면 데이터베이스 파일에 어떤 영향을 미칩니 까?
데이터베이스 VARCHAR(MAX)에는 VARCHAR(500)(또는 최대보다 훨씬 작은) 열로 충분할 열 이있는 여러 테이블이 있습니다 . 당연히 나는 이것을 정리하고 크기를보다 합리적인 수준으로 낮추고 싶습니다. 내가 이것을 이해하는 '방법': 내 질문은 이 열을 변경하여 디스크의 페이지와 현존하는 사람들에게 무엇을 할 것인가? (열을자를 때 발생하는 일에 대한 정보가 많이 있지만 열을 줄일 때 …


3
특정 인스턴스의 데이터베이스별로 CPU 사용량을 얻는 방법은 무엇입니까?
데이터베이스별로 CPU 사용량을 감지하는 다음 쿼리를 찾았지만 다른 결과가 표시됩니다. WITH DB_CPU_Stats AS ( SELECT DatabaseID, DB_Name(DatabaseID) AS [DatabaseName], SUM(total_worker_time) AS [CPU_Time_Ms] FROM sys.dm_exec_query_stats AS qs CROSS APPLY ( SELECT CONVERT(int, value) AS [DatabaseID] FROM sys.dm_exec_plan_attributes(qs.plan_handle) WHERE attribute = N'dbid') AS F_DB GROUP BY DatabaseID ) SELECT ROW_NUMBER() OVER(ORDER BY …

1
지정된 시간 동안 일시 정지 / 절전 / 대기하도록 쿼리를 어떻게 디자인 할 수 있습니까?
SQL Server 2000 인스턴스에 대해 모니터링 응용 프로그램을 테스트하고 있습니다. 지정한 시간이 걸리는 T-SQL 쿼리를 작성하려면 어떻게해야합니까? 예를 들어, 대부분의 스크립팅 언어에는 SLEEP지정된 시간 동안 스크립트 실행을 일시 중지 할 수 있는 명령 과 같은 기능 이 있습니다. SQL Server 2000과 호환되는 유사한 것을 찾고 있습니다. 이것은 모니터링 응용 프로그램의 …

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