2013-04-28 1 views
0

이론적 데이터베이스를 기반으로 이론적 쿼리 처리 계획을 만들고 싶다면 어떻게해야합니까? 또한, 계획 비용을 결정하는 방법에 대해 어떻게 생각합니까? 나는 하나를 만들고 비용을 결정해야하지만, 하나를 얻지 않고 하나를 만드는 방법을 이해할 수없는 것 같습니다. 온라인에서 하나를 얻으려고 계속 말하기 때문입니다. 어떤 도움이 필요합니까?쿼리 처리 (또는 실행) 계획을 만드는 방법은 무엇입니까?

감사합니다.

+1

sql 엔진은 실제 데이터와 실제 통계를 사용하여 실제 테이블을 사용하여 실제 계획을 생성합니다. 나는 이론적 인 데이터베이스로 이론적 계획을 세우는 것이 무엇을 의미하는지 이해하지 못합니다. – bryanmac

+0

데이터 또는 데이터베이스없이 다음 과정을위한 쿼리 처리 계획을 만드는 것이 우리의 교과목으로 들었습니다. 테이블 : EMP (ENO, ENAME, TITLE, SALARY)는 PROJ (PNO, PTITLE) WORKSON (ENO, PNO, 역할) 가에 대한 쿼리 처리 계획 확인 : SELECT ENAME은 보낸 사람 EMP ptitle workson, proj 어디서 emp.eno = workson.eno AND workson.pno = proj.pno AND role = 'dbadmin 데이터가 없으면 어떻게 될지 모르겠습니다. – snowhite

답변

0

이론 데이터베이스는 "전체 행을 가져옵니다", "두 개의 정수를 비교합니다", "전체 테이블을 n 행으로 스캔"과 같은 정의 된 작업과 관련된 비용이 필요합니다.

모델을 가지고 있다면 관계에서 특정 데이터를 가져올 수있는 방법을 고안 할 수 있습니다. 실제 데이터가없고 사전 정의 된 알고리즘이 없으므로이 방법을 "획득"할 수 없으므로 직접 작성해야합니다.

실제 데이터베이스 관리 시스템을 설치하면 이론적 인 컴퓨터 과학 숙제를 위해이 작업을 수행하지 않는 한 자신이 제공 한 테이블에 대한 쿼리 계획을보고 사용자가 본 것으로부터 일반화하십시오 그곳에. 실제로 모든 오픈 소스 데이터베이스가 시작됩니다.

예를 들어, Postgresql HandbookEXPLAIN 명령을 살펴보십시오. 지정한 쿼리에 대한 쿼리 계획이 표시됩니다.

+0

나는 이론 숙제로하고있다. 우리가 들었던 유일한 사실은 우리가 작업해야하는 데이터베이스 테이블과 select 문입니다. 내가 여기서 뭔가를 놓치고 있니? 그래도 실제로 어떻게 할 수 있습니까? 나는이 강의를 놓쳤으며 나는 너무 혼란 스럽다. – snowhite

+0

Dunno는 코스에 대해 많이 모르지만,이 경우에는 선생님에게 가서 설명을 듣는 것이 좋습니다. 나는 여전히 실제 DBMS에서 그것을 시도하고 일반적인 용어로 결과를 설명하는 것이 좋습니다. 당신이 준 예제는 거의 모든 DBMS가 어쨌든 같은 계획을 만들 것입니다. – mabi

+0

고맙습니다, 음, phpMyAdmin을 사용하고 있으며 설명 SQL 부분은 온라인에서 찾은 것에 비해 나를 혼란스럽게합니다. – snowhite

관련 문제