«execution-plan» 태그된 질문

쿼리 최적화 프로그램이 쿼리를 처리하기 위해 선택한 전략입니다.

1
PostgreSQL이 더 비싼 가입 순서를 선택하는 이유는 무엇입니까?
기본값을 사용하는 PostgreSQL default_statistics_target=1000 random_page_cost=1.5 버전 PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit 진공 청소기로 청소하고 분석했습니다. 쿼리는 매우 간단합니다. SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s ON "as".id = s.account_schedule_id …

3
내가 관심이있는 하나의 열을 선택하는 것보다이 쿼리의 모든 결과 열을 선택하는 것이 더 빠른 이유는 무엇입니까?
를 사용하면 select *읽기 수가 훨씬 적을뿐만 아니라를 사용하는 것보다 훨씬 적은 CPU 시간을 사용 하는 쿼리가 select c.Foo있습니다. 이것은 쿼리입니다. select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId = b.OrderId and c.ShipKey = a.ShipKey …

1
이 LEFT JOIN이 LEFT JOIN LATERAL보다 성능이 나쁜 이유는 무엇입니까?
Sakila 데이터베이스에서 가져온 다음 테이블이 있습니다. 영화 : film_id는 pkey입니다 배우 : actor_id는 pkey입니다 film_actor : film_id 및 actor_id는 film / actor의 핵심 요소입니다. 특정 영화를 선택하고 있습니다. 이 영화에서는 모든 배우가 그 영화에 참여하기를 원합니다. 이에 대한 두 가지 쿼리가 있습니다. 하나는 a LEFT JOIN와 하나는 a LEFT JOIN …

1
SQL Server에서 실행 계획 작성은 얼마나 결정적인가?
다음과 같은 상수가 주어집니다. 구조가 동일한 동일한 데이터베이스 (테이블, 인덱스 등) 동일한 데이터 동일한 SQL Server 및 하드웨어 구성 동일한 통계 클라이언트에서 동일한 SET 옵션 동일한 SQL Server 버전 동일한 추적 플래그 이러한 상수가 주어지면 SQL Server는 항상 주어진 쿼리에 대해 동일한 계획을 생성합니까? 그렇지 않은 경우 다른 고려 사항이 …

2
sp_executesql은 언제 쿼리 계획을 새로 고치나요?
DBA가 아니기 때문에 순진함을 용서해야하지만 시간이 지남에 따라 데이터베이스 변경 및 저장 프로 시저의 통계를 최신 통계로 쿼리 계획을 최신 상태로 유지하기 위해 다시 컴파일해야한다는 것을 이해합니다. 나는의 최신 통계에 대해 다시 컴파일 내 데이터베이스에 저장 프로 시저가 가정 일부 코드에서 저장 프로 시저에 라이닝과 그것을 포장의 의미 무엇인가, 일정한 …


1
SQL Server 2008은 실행 계획의 작성 날짜를 저장합니까?
우리는 최근에 데이터베이스의 스키마를 수정하는 데 사용하는 응용 프로그램을 업그레이드했습니다. 이러한 변경으로 인해 캐시 된 실행 계획이 삭제 될 수 있습니다. SQL Server가 여러 가지 새로운 계획을 만들도록 강요하면 사용자 경험이 느려질 수 있습니다. 이것이 사실인지 알고 싶습니다. 제 질문은 SQL Server 2008이 캐시 된 실행 계획의 생성 날짜를 저장합니까? …

5
SentryOne Plan Explorer가 작동합니까?
합니까 SentryOne 계획 탐색기 광고로 일을하고는 합법적인가? 걱정해야 할 것이 있습니까? 추정 된 실행 계획에 대한 SSMS의 악몽과 비교했을 때 색상의 핫 경로를 보여줍니다. 내 관심사는-악의적이거나 그렇지 않은 데이터를 수정합니까? 편집 : 나는 방금 들어 본 적이 있었고 전에는 회사에 대해 들어 본 적이 없습니다.


1
SQL Server 최적화 프로그램은 조인 된 테이블의 행 수를 어떻게 추정합니까?
AdventureWorks2012 데이터베이스 에서이 쿼리를 실행하고 있습니다 . SELECT s.SalesOrderID, d.CarrierTrackingNumber, d.ProductID, d.OrderQty FROM Sales.SalesOrderHeader s JOIN Sales.SalesOrderDetail d ON s.SalesOrderID = d.SalesOrderID WHERE s.CustomerID = 11077 예상 실행 계획을 보면 다음이 표시됩니다. 초기 색인 탐색 (오른쪽 상단)은 IX_SalesOrderHeader_CustomerID 색인을 사용하고 리터럴 11077을 검색합니다. 추정치는 2.6192 행입니다. 를 사용 DBCC SHOW_STATISTICS …

3
Parallelism (Repartition Streams) 연산자가 행 추정치를 1로 줄이는 이유는 무엇입니까?
SQL Server 2012 Enterprise를 사용하고 있습니다. 나는 완전히 직관적이지 않은 일부 행동을 나타내는 SQL 계획을 보았습니다. 병렬 병렬 색인 스캔 조작 후 병렬 처리 (복원 스트림) 조작이 발생하지만 색인 스캔 (Object10.Index2)에 의해 리턴되는 행 추정값을 종료하여 추정값을 1로 줄입니다. 이 동작을 설명하는 어떤 것도 발견하지 못했습니다. 각 테이블에는 수백만의 레코드가 …

2
WHERE 절이“포함 된”열의 이점을 얻는 이유는 무엇입니까?
이 답변 에 따르면 , 제한하는 데 사용되는 열 위에 인덱스가 작성되지 않으면 쿼리는 인덱스의 이점을 얻지 못합니다. 나는이 정의를 가지고있다 : CREATE TABLE [dbo].[JobItems] ( [ItemId] UNIQUEIDENTIFIER NOT NULL, [ItemState] INT NOT NULL, [ItemPriority] INT NOT NULL, [CreationTime] DATETIME NULL DEFAULT GETUTCDATE(), [LastAccessTime] DATETIME NULL DEFAULT GETUTCDATE(), -- other …


5
Azure SQL Database에서 잘못된 실행 계획을 제거하려면 어떻게해야합니까?
DBCC FREEPROCCACHEAzure SQL DB에서 작동하지 않습니다. 프로덕션 시스템에 해를 끼치 지 않는 방식으로 계획을 캐시에서 강제로 쫓아 낼 수있는 방법은 무엇입니까? 이것은 특히 Entity Framework에서 생성 한 SQL을위한 것이므로 자체 관리 저장 프로 시저가 아닙니다. 효과적으로 동적 SQL입니다. (소스는 잘못된 인덱스-> 나쁜 통계 등이었습니다. 모두 수정되었지만 잘못된 계획은 사라지지 않습니다.) …

3
연결 물리적 조작 : 실행 순서를 보장합니까?
표준 SQL에서 결과는 union all어떤 순서로도 보장되지 않습니다. 따라서 다음과 같은 것이 있습니다. select 'A' as c union all select 'B' 순서에 관계없이 두 행을 반환 할 수 있습니다 (실제로 'A'가 'B'보다 앞에 올 것이라는 것을 알고있는 데이터베이스에서 실제로도). SQL Server에서는 "연결"물리적 작업을 사용하여 실행 계획으로 바뀝니다. 연결 연산이 입력을 …

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