더 나은 쿼리 성능을 얻기위한 기술을 구현하라는 요청을 받았으며 이는 나에게 매우 새롭다.쿼리 성능 튜닝
기술은 다음과 같습니다
위의 쿼리에서SELECT tab1.col1
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2
AND tab2.col3 = 'X'
AND tab1.col4 = 'Y';
,
- 나는 위에서 사용 된 것들에 대한 참조 테이블 TAB2에 대한 TAB1 및 tab4에 대한 tab3에 말한대로 두 테이블을 작성해야합니다.
- tab1과 tab2의 PK 값을 각각 tab3과 tab4에 삽입하십시오.
- tab3과 tab4 모두에서 'condition1'이라고 말한 후 위 쿼리에서 가져온 레코드의 PK 값으로 업데이트하십시오.
- 'condition1'IS NOT NULL 열에 대한 확인이있는 쿼리에서 tab3 및 tab4를 사용하십시오.
- 원본 테이블의 DML에서이 열을 업데이트하려면 트리거를 씁니다.
이 한 눈에 간단하게 보일 수도 있지만, 같은 테이블이 다른 술어로 N 쿼리에서 사용하는 경우, 나는 새 테이블 및 해당 트리거의 열 N 번호를 추가해야합니다.
저는 이것이 데이터의 중복이며 데이터베이스에 대한 막대한 부담이라고 생각합니다. 그리고 이것은 성능 향상에 기여하지 않습니다.
내가 이것을 구현하는 딜레마에서 벗어나도록 도와 주면 좋을 것입니다. 제대로 인덱스를 사용하고 있는지 사전에
덕분에, Savitha
동료가 데이터베이스 개발의 초보자이며 오라클 컨설턴트에게 심각한 도움이 필요하다고 생각합니다. 이 데이터베이스의 최종 목적은 무엇이며 하루에 몇 행을 추가 할 것입니까? 나는 의미심장하지 않고 잔인하게도 정직한 사람이 되고자합니다. 때로는 우리가 제공 할 수있는 최선의 도움은 당신에게 조금이라도 도움이 필요하다는 것을 말해주는 것입니다. –