반응형 DEV/DB10 쿼리 성능 높이는 법 내가 들었던 면접 질문들 하나씩 정리 중지금 Data 하고 있다고 하니까 물어본 거 같긴 한데 사실 큰 경험은 없다.요즘은 솔직히 서버도 좋고 DB 성능도 좋아서 엄청난 차이가 있지는 않은 것 같지만,,!그렇지만 내가 경험했던 거 포함해서 하나씩 적어보겠숨 1. 인덱스 사용인덱스를 빼고는 최적화를 논할 수가 없죠인덱스(Index) 란!검색 속도를 올려주는 자료구조로 일종의 목차를 생성하는 개념이다.특정 컬럼에 대한 인덱스를 생성하면 해당 컬럼의 데이터들을 정렬해서 별도의 메모리 공간에 물리적 주소와 함께 저장하게 됩니다. 해당 컬럼이 포함된 WHERE 조건문을 사용하여 쿼리를 날리면 옵티마이저에 의해 판단되어 생성된 인덱스를 타게 되어 물리적 주소를 찾아 데이터를 가져오기 때문에 검색 속도가 향상됩니다... 2024. 10. 22. [SQL] 열을 행으로 바꾸는 방법 정리, CONECT BY LEVEL/UNION ALL/UNPIVOT 이걸로 일주일 고민한 사람의 UNPIVOT 포스팅 계좌번호 (ACCT_NO) 고객아이디 (CUST_NO) 대출종류1 금액 (LOAN_COST1) 대출종류2 금액 (LOAN_COST2) 대출종류3 금액 (LOAN_COST3) 대출종류 4 금액 (LOAN_COST4) 대출종류5 금액 (LOAN_COST5) 12345678 1234 500 0 200 0 100 계좌번호 (ACCT_NO) 고객번호 (CUST_NO) 대출종류 (LOAN_DF) 금액 (COST) 12345678 1234 1 500 12345678 1234 3 200 12345678 1234 5 100 위의 테이블 구조에서 아래 테이블 구조로 변경해서 사용할 일 즉 열을 행으로 바꿔야 하는 일이 생겼는데 UNPIVOT을 생각하지 못한 나를 반성하며 .. 2023. 3. 29. 데이터 마트란? 데이터 마트의 정의 데이터 마트는 조직의 사업부와 관련된 정보를 포함하는 데이터 스토리지 시스템입니다. 여기에는 회사가 더 큰 스토리지 시스템에 저장하는 데이터의 일부만 포함됩니다. 데이터 마트를 사용해 데이터에 빠르게 액세스하고, 인사이트를 신속하게 얻을 수 있습니다. 기업은 데이터 마트를 사용하여 부서별 정보를 보다 효율적으로 분석합니다. 복잡한 데이터 웨어하우스 또는 다양한 소스로부터 수동으로 집계된 데이터 내에서 원하는 데이터를 탐색하는 시간을 줄여줍니다. 데이터 마트가 중요한 이유 👉 효율적인 데이터 검색 기업은 데이터 마트를 사용하여 특정 정보에 보다 효율적으로 액세스할 수 있습니다. 데이터 마트에는 부서에서 자주 액세스하는 관련 세부 정보가 포함되어 있습니다. 따라서 비즈니스 관리자는 성과 .. 2023. 1. 13. Postgresql 공백제거(TRIM, REGEXP_REPLACE) 1. TRIM SELECT TRIM([컬럼]) FROM [테이블] 공백제거할때 보통 TRIM을 사용하는데 TRIM은 모든 공백을 다 제거하는 것이 아니라 ascii 코드가 32인 공백만 제거합니다. 그래서 REGEXP_REPLACE 함수를 사용해 정규식을 통해 공백을 제거하는 방법이 필요할 때가 있습니다. 2. REGEXP_REPLACE SELECT REGEXP_REPLACE([컬럼], '^\t+', '') FROM [테이블]; ' \t ' 와 같은 공백을 제거할때는 정규식 표현을 사용해서 공백을 제거 할 수 있습니다. 2022. 7. 12. [MySQL] JOIN 하기 JOIN 이해하기 Table 두개를 JOIN 해 원하는 데이터를 추출할 수 있다. 가령 DOG Table과 CAT Table이 있고 두 테이블 가운데 이름이 같은 정보만 알고 싶다면 아래 보이는 쿼리문을 사용하면 된다. SELECT * FROM DOG AS A INNER JOIN CAT AS B ON A.NAME = B.NAME * INNER JOIN - 내부조인이라고 하며 그림의 가운데에 있는 것 처럼 교집합만을 리턴한다. 두 테이블이 동일한 값을 가지고 있지않다 면 데이터의 결함이 일어날 수 있다. * LEFT JOIN - LEFT JOIN은 쿼리문의 왼쪽 테이블(선행테이블)을 기준으로 오른쪽 테이블(후행테이블)을 결합합니다. 선행테이블에 대한 정보손실을 발생하지 않고, 후행 테이블의 선행테이블과 일.. 2020. 8. 4. [MySQL] DATETIME 가공하기 * 날짜 데이터에서 일부만을 추출하기 YEAR : 연도 MONTH : 월 DAY : 일 (DAYOFMONTH와 같은 함수) HOUR : 시 MINUTE : 분 SECOND : 초 SELECT HOUR(DATETIME) AS HOUR FROM DATETABLE * 원하는 포맷으로 바꾸기 DATE_FORMAT SELECT DATE_FORMAT(DATETIME,'%Y-%m-%d') FROM DATETABLE %a 요일 이름 ( Sun.. Sat) %b 월 이름 ( Jan.. Dec) %c 월, 숫자 ( 0.. 12) %D 영어 날 ( 0th, 1st, 2nd, 3rd, ...) %d 월의 일 ( 00.. 31) %e 월의 일( 0.. 31) %f 마이크로 초 ( 000000.. 999999) %H 시간 ( 0.. 2020. 8. 3. 이전 1 2 다음 반응형