반응형 DB19 [Oracle] 오라클 아키텍처 : 데이터베이스와 인스턴스 목차 오라클 소프트웨어 ORACLE_HOME과 ORACLE_BASE ORACLE_HOME : 오라클 소프트웨어를 설치할 디렉터리 ORACLE_BASE : 오라클에 관한 여러가지 파일을 배치하는 거점이 될 디렉터리 oracle_base는 oracle_home으로 지정한 디렉터리의 상위 디렉터리에 설정함 ORACLE_HOME의 중요한 디렉터리 database : 윈도우 버전 오라클의 서버 파라미터 파일이나 패스워드 파일이 존재 dbs : 유닉스/리눅스 버전 오라클의 서버 파라미터 파일이나 패스워드 파일이 존재 network/admin : 네트워크 접속과 관련된 설정 파일이 존재 bin : SQL*Plus 등 오라클 관련 프로그램과 오라클을 운영하고 관리하는 데 유용한 프로그램들이 존재하는데, 셸이나 명령어 .. DB 2023. 5. 6. [Tibero] 티베로 아키텍쳐 목차 시작하며 티베로 프로세스는 크게 세가지로 구성된다 리스너 워커프로세스 백그라운드 프로세스 워커 프로세스 (Worker Process) tbsvr_WP000, tbsvr_WP001 클라이언트와 실제 통신을 하며 사용자의 SQL 요구사항을 처리하는 프로세스. 이 프로세스의 갯수는 초기화 파라메터로 조정할 수 있으며 일단 티베로가 기동된 뒤에는 재기동을 해야만 변경할 수 있다. 따라서 시스템 환경을 고려하여 적절한 환경을 구성해야한다. 티베로는 효율적 리소스 활용을 위해 스레드기반으로 작업을 수행한다 초기화 파라메터 MAX_SESSION_COUNT에서 설정된 개수만큼 워커스레드를 구성하게 되는데 MAX_SESSION_COUNT 파라메터 값을 아래 사진처럼 확인할 수 있다. 다음과 같이 MAX_SESSIO.. DB 2023. 5. 3. [DB] 데이터 정규화란? 목차 전제 테이블 설계를 하면서 늘 어떤식으로 하는게 제일 깔끔할지 고민을 많이 했었는데, 정규형과 관련된 정리 중 가장 쉽고 깔끔하게 정리된 영상을 보고 간단하게 메모해둔다. 학생번호 이름 수강과목 101 홍길동 수학 102 강감찬 영어 103 손오공 영어 제 1 정규형 / 제 1 정규화 만약 103 손오공 학생이 국어 과목을 추가로 수강신청한다면? 학생번호 이름 수강과목 101 홍길동 수학 102 강감찬 영어 103 손오공 영어, 국어 위와 같은 방식으로 데이터가 추가된다면 다음과 같은 문제가 발생하게 된다. 1. 국어만 수강신청한 사람을 찾기 귀찮아진다 where 수강과목 = '국어' 가 아닌, where 수강과목 like '%국어%' 로 조건문을 사용해야할 수도 있음..! 2. 과목명을 수정할때 .. DB 2023. 2. 2. [MSSQL] SQL Server 튜닝 - 조인 목차 시작하며 드디어 조인....! 예전에 정말 간단하게, 단순 구현쪽으로만 조인에 대해 포스팅을 작성했던 적이 있긴 한데, 좀더 자세히 공부해보고자 한다. [MSSQL] JOIN 설명 및 사용법 목차 조인이란? 두개 이상의 테이블이나 베이터베이스를 연결하여 데이터를 검색하는 방법이다. 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하며, 여러 개의 테이블을 마치 하나 earthteacher.tistory.com 왠만하면 LEFT OUTER JOIN 만 사용하자는 내부 규칙이 존재했었어서... 아무튼 크게 신경을 쓰지 않고 조인을 사용했었던 과거의 나를 반성하며 다시 공부를 해봤다. 조인(JOIN)이란? 조인은 관계가 있는 두 개 이상의 테이블을 주어진 조건으로 결합하여 하나의 결과 집합으로 출.. DB 2023. 1. 4. [MSSQL] SQL Server 튜닝 - 실행 계획 목차 시작하며 DB팀과 협업을 하며 자주 이야기하던 키워드가 바로 "실행계획" 이다. 쿼리를 만들고 난 후, 실행계획을 점검해보며 인덱스를 잘 타는지, 쿼리가 잘못되진 않았는지 등등을 체크하곤 하는데, 이번엔 이 부분을 다뤄보고자 한다. 그리고, 지난번 인덱스를 공부하며 사용했던 쿼리들의 실행계획도 재확인해볼 생각이다. 실행 계획(Execution Plan) 이란? 실행 계획은 SQL 구문을 처리하기 위해 사용되는 연산 방법이나 오브젝트를 읽어내는 순서 등이 조합된 일련의 처리 절차이다. 하나의 SQL 구문을 처리하는 실행 계획은 많은 경우의 수로 다양하게 생길 수 있지만, 내부적인 규칙이나 비용을 계산하여 가장 최적이라 판단되는 계획이 선택된다. 그렇다면 옵티마이저는 항상 최선의 실행 계획을 선택할 수.. DB 2022. 12. 27. [MSSQL] SQL Server 튜닝 - 인덱스 목차 인덱스란? 인덱스는 무작위로 저장된 데이터 집합에서 원하는 데이터를 쉽고 빠르게 찾을 수 있도록 제공되는 하나의 오브젝트이다. 즉, 요구 조건에 맞춰 테이블을 검색할 때 테이블 전체를 읽어내며 찾는 것이 아니라, 먼저 인덱스의 키로 조건을 탐색하고 함께 저장된 행의 주소값을 통해 테이블의 다른 열을 참조하는 방식으로 수행된다. 인덱스는 흔히 책의 목차로 비유되는데, 책 속의 많은 내용 중에서 원하는 내용을 찾고자 할 때 목차를 통해 쉽게 페이지 번호를 알아낼 수 있기 때문이다. 책이 두꺼울수록, 목차가 세분화될수록 원하는 내용의 페이지를 정확하게 찾을 수 있으며, 마찬가지로 인덱스도 많은 데이터 안에서 찾으려는 조건이 상세할수록 역할은 더욱 분명해진다. MSSQL에서 인덱스를 생성하는 기본 구문은 .. DB 2022. 12. 20. [DB/SQL] Server SQL Modes - "Group By" 를 사용할 때, 알아야 할 내용 목차 시작하며 https://earthteacher.tistory.com/203 [MySQL/Oracle] 즐겨찾기가 가장 많은 식당 정보 출력하기 목차 문제 문제 설명 다음은 식당의 정보를 담은 REST_INFO 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 식당 ID, 식당 이름, 음식 종류, earthteacher.tistory.com 위 문제를 해결하면서, GROUP BY 를 사용할 때 확실히 알고 가야 할점에 대해 알아보자. 문제해결 아래와 같은 Orders 테이블이 있다고 가정해보자 +------+---------+-------+ | id | reve.. DB 2022. 11. 17. [MSSQL] JOIN 설명 및 사용법 목차 조인이란? 두개 이상의 테이블이나 베이터베이스를 연결하여 데이터를 검색하는 방법이다. 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하며, 여러 개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법. 보통 PK 혹은 FK로 두 테이블을 연결한다. 테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되고 있어야 한다. INNER JOIN 기준 테이블과 조인한 테이블의 중복된 값을 보여준다. 다시말해, 결과값은 A테이블을 기준으로 A테이블과 B테이블이 모두 갖고 있는 데이터만 검색된다. -- 문법 SELECT (테이블별칭.칼럼, 테이블별칭.칼럼) FROM 기준테이블 별칭 INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ... -- 예제 SELECT (A.. DB 2022. 3. 3. [MSSQL] VARCHAR(MAX|N) 길이별 성능차이 및 NVARCHAR와의 성능차이에 관해.. 목차 시작하며 VARCHAR나 NVARCHAR를 선언할 때, 우리는 종종 해당 컬럼의 길이를 어떻게 놓을것인지에 대해서 고민하곤 한다. 확실하게 정해져있는 경우, 고정길이로 선언해주는것이 성능상 더 좋다는것은 자명하지만, 그렇지 않은 경우 갈피를 잡기 어려울 수도 있다. VARCHAR(N) 컬럼에 데이터를 저장할땐, 물리적으로 같은 방식이 사용되며 저장된다. 이 말은, 어떤 특정한 동작 없이 블록에 바로 쓰인다는것이다. 하지만, VARCHAR(MAX) 컬럼에 저장하는 경우, TEXT타입처럼 다뤄지게되어 저장을 위한 추가적인 절차가 필요하게된다. (단, 저장되는 데이터의 길이가 8000바이트 이상인 경우에만 해당된다.) 8000바이트 이상인 경우, 오버플로우가 발생하게 되는데 이를 out of row 라고.. DB 2022. 2. 8. [PostgreSQL] 기본 데이터 타입 정리 PostgreSQL 기본 데이터 타입 정리 (주제를 클릭하면 해당 포스트로 이동합니다.) Character types / why should we use char instead of varchar? Numeric types Boolean types Temporal types UUID for storing Universally Unique Identifiers Array for storing array strings, numbers, etc... JSON stores JSON data hstore stores key-value pair User defined data 해당 페이지를 참고하였다. https://www.postgresqltutorial.com/ PostgreSQL Tutorial - Learn.. DB 2020. 9. 1. [PostgreSQL] 기본 데이터 타입 정리 - User defined data Character types / why should we use char instead of varchar? Numeric types Boolean types Temporal types UUID for storing Universally Unique Identifiers Array for storing array strings, numbers, etc... JSON stores JSON data hstore stores key-value pair User defined data User-defined Data Types create domain : 테이블을 만들때, 특정 타입에 대해 제약조건을 걸어주는것 (스키마 내부) 일반적으로 제약조건을 걸어줄 때의 쿼리 CREATE TABLE mailing_list.. DB 2020. 9. 1. [PostgreSQL] 기본 데이터 타입 정리 - hstore Character types / why should we use char instead of varchar? Numeric types Boolean types Temporal types UUID for storing Universally Unique Identifiers Array for storing array strings, numbers, etc... JSON stores JSON data hstore stores key-value pair User defined data hstore 키 ⇒ 값 쌍을 hstore에 저장. 쿼리 빈도가 낮은 속성이 많은 데이터나 행이 많은 경우 쓴다. 인덱싱이 빠르다는 장점이 있다. 키와 값은 오로지 스트링. 작업 이전에 hstore extension을 활성화시켜야한.. DB 2020. 9. 1. 이전 1 2 다음 반응형