«optimization» 태그된 질문

데이터베이스의 맥락에서 최적화 란 쿼리 옵티마이 저가 효율적인 물리적 실행 계획을 선택하는 프로세스를 말합니다.

6
인덱스가 필요한지 또는 필요한지 확인하는 방법
MS SQL 데이터베이스에서 자동 색인 도구를 실행했습니다 (색인 통계 테이블을 보는 Microsoft에서 시작한 스크립트- 자동 자동 색인 작성 )을 수정했습니다. 통계에서 생성해야 할 색인에 대한 권장 목록이 생겼습니다. 편집 : 위에서 설명한 색인은 데이터베이스 엔진이 색인을 사용할 수있는 경우 데이터베이스 엔진이 색인에 사용하는 것을 알려주는 정보를 DMV에서 가져 와서 스크립트는 …

4
다양한 타임 스탬프 (2 열)에서 쿼리 최적화
우분투 12.04에서 PostgreSQL 9.1을 사용합니다. 일정 시간 내에 레코드를 선택해야합니다. 테이블 time_limits에는 두 개의 timestamp필드와 하나의 integer속성이 있습니다. 내 실제 테이블에는이 쿼리와 관련이없는 추가 열이 있습니다. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); 이 테이블은 대략 2M 레코드를 포함합니다. 다음과 같은 쿼리는 많은 시간이 걸렸습니다. …

3
MySQL에서 언제 뷰를 사용해야합니까?
분석에 사용하기 위해 여러 조인에서 테이블을 만들 때 새 테이블을 만드는 것보다 뷰를 사용하는 것이 더 좋은 방법은 언제입니까? 뷰를 사용하는 것을 선호하는 한 가지 이유는 데이터베이스 스키마가 관리자가 Ruby 내에서 개발했기 때문에 Ruby에 익숙하지 않기 때문입니다. 테이블을 만들도록 요청할 수 있지만 추가 단계가 필요하며 새 조인을 개발 / 테스트 …

4
PostgreSQL의 뷰가 성능에 유해합니까?
다음은 db 디자인 (Beginning Database Design ISBN : 0-7645-7490-6)에 관한 책에서 발췌 한 내용입니다. 뷰를 사용할 때의 위험은 뷰에 대해 쿼리를 필터링하여 매우 큰 테이블의 아주 작은 부분을 읽을 것으로 예상하는 것입니다. 뷰 자체에 대한 필터링은 뷰의 쿼리가 실행을 완료 한 후에 적용되므로 뷰 내에서 필터링을 수행해야합니다. 뷰는 일반적으로 개발 …

3
WHERE IN을 사용하여 삭제 조작 중 예상치 않은 스캔
다음과 같은 쿼리가 있습니다. DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers에 553 개의 행이 있습니다. tblFEStatsPaperHits에 47.974.301 개의 행이 있습니다. 브라우저 : CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] …

2
TOP은 실행 계획에 어떤 영향을 미칩니 까?
최적화하려는 중간 정도의 복잡한 쿼리의 경우 TOP n절 을 제거 하면 실행 계획이 변경됩니다. 쿼리 TOP n에 데이터베이스 엔진이 포함 되면 TOP절을 무시하고 쿼리를 실행 한 다음 결국에는 결과 집합 을 요청 된 n 개의 행 수로 줄입니다. 그래픽 실행 계획은 이것이 사실임을 나타내는 것 같습니다 – TOP"마지막"단계입니다. 그러나 더 …

1
JOIN 절에서 구문을 사용하면 특정 상황에서 최적화 장벽이 발생할 수 있습니까?
쿼리 절 에서 USING(대신에 ON) 구성 이 특정 경우 최적화 장벽을 도입 할 수 있다는 점에 주목했습니다 .FROMSELECT 나는이 핵심 단어를 의미한다 : 고르다 * 에서 b를 가입 USING (A_ID) 좀 더 복잡한 경우. 문맥 : 이 댓글 에 이 질문에 . 나는 이것을 많이 사용 하고 지금까지 아무것도 발견하지 …

5
논리 연산자 OR AND WHERE의 조건 및 조건 순서
이 두 문장을 살펴 보자. IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... 경우 CONDITION 1IS TRUE, 것입니다 CONDITION 2확인? 경우 CONDITION 3IS FALSE, 것입니다 CONDITION 4확인? 무엇에 조건에 대한 WHERE: A의 수행하는 SQL Server 엔진의 최적화 모든 조건 WHERE절? 프로그래머 가 SQL Server …

2
IN이 큰 Postgres 쿼리 최적화
이 검색어는 내가 팔로우 한 사람들이 작성한 게시물 목록을 가져옵니다. 무제한의 사람들을 팔로우 할 수 있지만 대부분의 사람들은 <1000 명을 따릅니다. 이 스타일의 쿼리를 사용하면 "Post"ID 를 캐시하는 것이 분명 최적화 되지만 불행히도 지금은 그럴 시간이 없습니다. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... FROM "Posts" AS "Post" INNER JOIN …

4
고유 인덱스에 대한 (동일한) 1000 탐색의 예상 비용이이 계획에서 다른 이유는 무엇입니까?
아래 쿼리에서 두 실행 계획은 고유 인덱스에 대해 1,000 회의 검색을 수행하는 것으로 추정됩니다. 탐색은 동일한 소스 테이블에서 정렬 된 스캔에 의해 수행되므로 동일한 순서로 동일한 값을 찾는 것으로 보입니다. 두 개의 중첩 루프는 <NestedLoops Optimized="false" WithOrderedPrefetch="true"> 왜이 작업이 첫 번째 계획에서는 0.172434이고 두 번째 계획에서는 3.01702의 비용이 드는지 아는 …

6
내 SELECT DISTINCT TOP N 쿼리가 전체 테이블을 스캔하는 이유는 무엇입니까?
SELECT DISTINCT TOP NSQL Server 쿼리 최적화 프로그램에서 제대로 최적화되지 않은 것으로 보이는 몇 가지 쿼리를 실행했습니다 . 간단한 예 : 두 개의 교대 값을 가진 백만 개의 행 테이블을 고려하여 시작하겠습니다. 내가 사용합니다 GetNums의 데이터를 생성하는 기능을 : DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK INT IDENTITY …

3
SQL Server는 A <> B를 A <B OR A> B로 분할하여 B가 결정적이지 않은 경우 이상한 결과를 생성합니다.
SQL Server에 흥미로운 문제가 발생했습니다. 다음 재현 예제를 고려하십시오. CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618' AND s_guid &lt;&gt; NEWID(); DROP TABLE #test; 깡깡이 s_guid &lt;&gt; NEWID()조건이 완전히 쓸모없는 것처럼 보이는 것을 잊지 마십시오 . 이것은 …

2
LIKE 연산자의 카디널리티 예상치 (로컬 변수)
LIKE알 수없는 시나리오에 대해 모든 최적화 에서 연산자 를 사용할 때 레거시 및 새로운 CE 모두 9 % 추정치를 사용 한다는 인상을 받았습니다 (관련 통계를 사용할 수 있고 쿼리 최적화 프로그램이 선택성 추측에 의존 할 필요가 없다고 가정). 신용 데이터베이스에 대해 아래 쿼리를 실행할 때 다른 CE에 따라 다른 추정치를 …

1
이 쿼리가 인덱스 스풀을 사용하지 않는 이유는 무엇입니까?
옵티마이 저의 동작을 더 잘 이해하고 인덱스 스풀 주위의 한계를 이해하기 위해이 질문을하고 있습니다. 1에서 10000까지의 정수를 힙에 넣었다고 가정하십시오. CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) FROM master..spt_values t1 CROSS JOIN master..spt_values …

1
CTE (WITH 쿼리)의 최적화 차단 동작이 SQL : 2008 표준에 지정되어 있습니까? 그렇다면 어디서?
WITH서버가 CTE 쿼리로 필터를 푸시 다운하거나 CTE에서 공통 표현식을 끌어 올 수없는 최적화 펜스 역할을하는 쿼리 (공통 테이블 표현식 또는 CTE)에 대한 참조가 자주 나타 납니다. SQL 표준에 필요한 동작입니다. 열팽창 계수는 확실히 최적화 울타리 PostgreSQL의에서 ...하지만이 표준에서 요구하는, 또는 실제로 단지 구현 세부? 예를 들어, 다음 메일 링리스트 게시물은 …

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