본문 바로가기
728x90
반응형

데이터베이스10

postgresql 실행계획 파헤치기 많은 SQL 개발자는 PostgreSQL이 FROM 절에 나타나는 것과 동일한 순서로 테이블에 액세스(및 조인)하는 쿼리를 실행한다고 가정합니다. 그러나 조인 순서는 대부분의 경우 유지되지 않으며 데이터베이스에는 이러한 명령이 필요하지 않습니다. 다음 장에서는 작업 순서에 영향을 미치는 요소에 대해 더 자세히 설명합니다. 지금은 실행 계획을 평가하는 방법을 살펴보겠습니다. 2024. 5. 10.
POSTGRES 테이블 인덱스 - 정리 Contents  -->  인덱스(INDEX)란?  • 중복 데이터 구조• 응용 프로그램에 표시되지 않음 • 특정 기준에 따라 데이터 선택 속도를 높이도록 설계 인덱스 성능 이슈 테이블 인덱스는 테이블이 추가될떄마다 인덱스 테이블도 추가된다. 그러므로 많은 인덱스를 설정할경우 insert 성능 이슈가 있을수있다. 하지만, 요즘 dbms는 효과적인 인덱스 추가 알고리즘을 사용하기에 그렇게 큰 차이는 없다고한다. 인덱스는 중복되므로 테이블 데이터가 업데이트될 때 업데이트해야 합니다. 이로 인해 때때로 무시할 수 없는 업데이트 작업에 대한 약간의 오버헤드가 발생합니다. 특히 PostgreSQL 인덱스는 vacuum 작업에 큰 영향을 미칠 수 있습니다. 그러나 많은 데이터베이스 교과서에서는 이 오버헤드를 과대평.. 2024. 5. 10.
SQL 인덱스 기본 사용법 - 수정중 수직적 탐색 :수평적 탐색 : 인텍스를 정상적으로 사용한다?인덱스를 정상적으로 사용한다는것은 리프 블록에서 스캔 시작점을 찾고 거기서부터 스캔하다가 중간에 멈추는것을 의미한다. OR 조건 검색수직적 탐색을 통해 전화번호가 '01022222222'이거나 고객명이 '홍길동' 인 어느 한 시작지점을 바로 찾을수 없다따라서 인덱스를 어떤 방식을 구성해도 Range Scan을 할수없다where (전화번호 = :tel_no  OR 고객명 = :cust_nm) 위와같은 쿼리는 select *from 고객where 고객명 = :cust_nmunion allselect *from 고객where 전화번호 =:tel_noand (고객명 :cust_nm or 고객명 is null) 로 변경하면 인덱스를 타고 이것을 OR E.. 2024. 5. 2.
SQL?옵티마이저?프로시저?SQL최적화 방법?소프트파싱?하드파싱?는 무엇일까? with oracle 본 포스팅은 '친절한 SQL 튜닝' 책을 보고 정리한 내용입니다. Contents SQL란? SQL은 Structured Query Language의 줄임말이다. 말그대로 구조적 질의언어이다. 프로시저란? SQL은 기본적으로 구조적 집합적이고 선언적 질의언어이다. 프로시저는 이러한것들을 결과 집합을 만드는 역할을한다. 옵티마이저란? 프로시저를 만들어내는 DBMS 내부 엔진이며, 옵티마이저가 존재하지 않았을때 사람이 직접 프로시저를 코드로 짜서 데이터를 출력했다. 하지만 옵티마이저가 등장함으로써 사람대신 프로시저 프로그래밍을 직접 해준다. SQL최적화란? DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전과정을 'SQL최적화'라고한다. 1.SQL 파싱 사용자로부터 SQL을 전달받.. 2024. 4. 8.
MongoDb란 ? 무엇인가 Mongo Database 대부분 대학교, 또는 학원에서 웹개발을 배우면 처음 시작하는것은 관계형 데이터베이스이다. 관계형 데이터베이스랑 DB정보들을 관계를 맺어줌으로써 각 테이블에 관심사를 분리함으로써 관리가 용이하게 저장하는 개념이다. 그와 반대로 비관계형 데이터베이스가 존재하는데 그것중 하나가 Mongo DB 이다. 그렇다면 왜 잘 사용하던 관계형 데이터베이스를 놓아두고 MongoDb를 사용할까? 질문에 대한 내용은 차차 알아가보자. Mongo DB 저장방식 몽고DB는 관계형데이터베이스가 저장하는 row 방식이아닌 자체적으로 Document라고 불리는 형태로 저장을 하는데 아래와 같다. { _id: 10, username: 'dongwan', email: 'zkdlwu94@gmail.com' } 웹.. 2024. 1. 31.
postgresql - where 절 사용법 WHERE 절 사용법 SELECT select_list FROM table_name WHERE condition ORDER BY sort_expression WHERE 절이 포함되어있을때 DB에서 데이터를 가공 시키는 순서는 아래와같다. *주의사항 SELECT 문에서 별칭(alias)를 이용한 order by는 가능했다 예) select k as T from table order by T 그렇지만 위 순서를 보면 알지만 from -> where 절을 사용하므로 where 절에서 별칭(alias)를 사용하지 못한다. 2024. 1. 11.
728x90
반응형