본문 바로가기
공부의/SQL

데이터베이스의 성능 최적화 향상 튜닝

by 포로리씨 2023. 11. 17.
728x90
반응형



1. 인덱스 최적화:
- 인덱스 생성 :
-----
CREATE INDEX idx_example ON your_table(column_name);
-----

2. 쿼리 최적화:

- 쿼리 실행 계획 확인 :
-----
EXPLAIN PLAN FOR
SELECT * FROM your_table WHERE column_name = 'value';
-----

3. 캐싱 활용:

- 캐싱을 활용한 데이터 조회 :
-----
SELECT /*+ CACHE */ column1, column2 FROM cached_table WHERE condition;
-----

4. 인덱스 컬럼의 선택:

- 필요한 인덱스만 생성 :
-----
CREATE INDEX idx_example ON your_table(column1, column2);
-----

5. 파티션 테이블 사용:

- 파티션 테이블 생성 :
-----
CREATE TABLE partitioned_table (
id NUMBER,
created_date DATE
)
PARTITION BY RANGE (created_date) (
PARTITION p1 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')),
PARTITION p2 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD')),
PARTITION p3 VALUES LESS THAN (MAXVALUE)
);
-----

6. 리소스 관리:

- 사용자 및 세션 리소스 제한 설정 :
-----
ALTER USER your_user PROFILE resource_limit;
ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'your_plan';
-----

7. SQL 튜닝:

- SQL 문 튜닝 :
-----
SELECT /*+ INDEX(your_table idx_example) */ column1, column2
FROM your_table
WHERE column1 = 'value' AND column2 = 'value';
-----

8. 정기적인 통계 수집:

- 통계 정보 수집 :
-----
EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => 'your_schema', tabname => 'your_table', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE);
-----

9. 로그 및 모니터링:

- 성능 로그 활용 :
-----
SELECT * FROM v$active_session_history WHERE sql_id = 'your_sql_id';
-----

10. 하드웨어 및 스토리지 최적화:

- 스토리지 최적화 (스토리지 타입에 따라 다름):
-----
-- SSD 스토리지를 사용한 테이블 생성
CREATE TABLE ssd_table (
id NUMBER,
name VARCHAR2(50)
)
TABLESPACE your_ssd_tablespace;
-----

728x90
반응형

'공부의 > SQL' 카테고리의 다른 글

오라클(oracle) vs MSSQL vs 티베로(Tibero) 문법 비교  (0) 2023.11.17