본문 바로가기
728x90
반응형

전체36

[DB] 인덱스(Index) 사용 예시 (생성, 조회, 삭제, 리빌드) 들어가면서.. 인덱스를 사용하는 방법을 알아보려 한다. 예전에 실습용으로 잠깐 만들어 두었던 B 테이블을 가지고 간단한 예제를 진행해 보려고 한다. 인덱스(Index) 사용 예시 ① 인덱스 생성 --문법 CREATE INDEX [인덱스명] ON [테이블명](컬럼1, 컬럼2, 컬럼3.......) --예제 1) 기본 CREATE INDEX EX_INDEX ON B(B_NO, B_TITLE); --예제 2) 컬럼 값 중복 허용 x 인 인덱스 생성 CREATE[UNIQUE] INDEX EX_INDEX ON B(B_NO, B_TITLE); 위와 같이 쿼리문을 작성하면 INDEX를 생성할 수 있다. CREATE 뒤에 UNIQUE 키워드를 붙이면 컬럼 값에 중복 값을 허용하지 않는다는 뜻이다. ② 인덱스 조회 --.. 2021. 9. 17.
[DB] 데이터베이스(DB) 인덱스(Index) 란 무엇인가? 들어가면서.. DB를 사용하면서 데이터의 양(row)에 따라 실행 결과의 속도가 차이가 나는 것을 알고 있었다. 특히 데이터의 양이 증가할수록 실행 속도는 느려지고, JOIN이나 서브 쿼리 사용 시 곱 연산이 일어나 데이터 양이 증가하기 때문에 WHERE 조건에서 필요한 데이터만 추출 후 사용하는 것이 좋다고 알고 있었는데, 보다 쿼리의 성능을 높이는 데 중요한 것은 인덱스를 적재적소로 활용하는 것이었다. 그렇다면 인덱스의 개념과 구조, 그리고 왜 사용하는지?, 사용했을 때 장점과 단점들에 대해 공부해보도록 하자. 인덱스(Index)란? 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조라고 한다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간.. 2021. 9. 13.
[Oracle] OT 문제 만들기 스터디 5주차 문제1. (인복) 분기별로 가장 빠르게 입사한 사람들중에서 입사한 월이 해당 분기의 첫 번째 달인 사람들의 직업을 구하여 아래와 같이 출력하시오 출력필드: 회원 번호, 풀네임, 직업, 입사 날짜 SELECT A.EMPLOYEE_ID, FULL_NAME, A.JOB_TITLE, A.HIRE_DATE FROM (SELECT EMPLOYEE_ID, (FIRST_NAME || ' ' || LAST_NAME) AS FULL_NAME, JOB_TITLE, TO_CHAR(HIRE_DATE, 'Q'), HIRE_DATE, RANK() OVER(PARTITION BY TO_CHAR(HIRE_DATE, 'Q') ORDER BY TRUNC(HIRE_DATE, 'DD') ASC) AS RNK FROM EMPLOYEES) A .. 2021. 9. 13.
[Java] 자바 컬렉션(Collection)이란? 들어가면서.. 나는 Java를 배우고 학습하면서 데이터를 보관하고 사용하기 위해 Collection을 자주 사용하였다. 예를 들면 책 찾기, 수족관 키우기, 지하철, 자동차 차 탑승, 주식하기 프로그램 등등.. 그리고 팀 프로젝트를 하면서까지도. 하지만 정작 면접 시 Collection에 대해 설명해달라는 요구를 받았을 때 당황해서 제대로 답변하지 못한 것이 너무 아쉽다. 아쉬우면? 공부해서 다음에는 그 질문을 놓치지 않으면 된다. 그때의 아쉬웠던 기분을 그대로 살려서 Collection에 대해 깊이 파보는 시간을 갖도록 하겠다. 컬렉션 프레임워크(Collection Freamwork) 란? - 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. - 즉, .. 2021. 9. 9.
[Java] this 키워드의 개념과 사용 방법 세 가지 this 키워드란? 개념 - this는 인스턴스의 자기자신을 의미한다. - 인스턴스화 되었을 때 자기자신의 메모리 주소를 담고있는 키워드이다. this 키워드의 세 가지 역할 ① 자기 자신의 메모리를 가르킨다. ② 생성자에서 다른 생성자를 호출할 경우 사용한다. ③ 인스턴스 자신의 주소를 반환할 때 사용한다. this 키워드의 세 가지 역할 ① 자기 자신의 메모리를 가르킨다. main 함수에서 EX1_Fruit 객체를 하나 생성한 후 과일 고유번호, 과일 이름을 Setter를 통해 값을 입력했다고 가정한다. public class FruitTest { public static void main(String[] args) { EX1_Fruit getFruit = new EX1_Fruit(); getFrui.. 2021. 9. 8.
[Spring] MVC 패턴 & Spring MVC Architecture & Spring 설정 파일 들어가면서.. Spring Framework로 웹 개발을 할 땐 기본적으로 MVC 패턴을 따른다. MVC 패턴은 Model, View, Controller 이 세 가지로 나뉘고, 역할을 분할하여 처리한다. 역할을 나누어 처리하기 때문에 서로의 결합도가 낮아져서 좋은 코드가 되며 유지보수도 하기 편해진다. Spring MVC Architecture와 Spring Framework의 설정 파일을 공부하기 앞서 MVC 패턴의 방식과 개념에 대해 알아보자. MVC 패턴이란? MVC 패턴은 Model, View, Controller 개념이 합쳐지면서 생긴 방식으로 소프트웨어 공학에서 사용되는 디자인 패턴이다. 디자인 패턴이란? 건축으로치면 공법에 해당하는 것으로, 소프트웨어의 개발 방법을 공식화 한 것이다. 소수.. 2021. 9. 6.
[Oracle] OT 문제 만들기 스터디 4주차 문제1.(도헌) 제품 원가 순위중 금액이 높은 2위와 10위의 차를 구하고(소수 1째자리 반올림), 차이보다 낮은 판매원가 금액은 2.7배 증가, 높으면 0.5배감소 시키고, 변경된 판매원가의 2위의 주문수량과 변경된 판매원가와 기존 판매원가의 차를 구하고, 제품회사명을 출력하시오. 출력필드 : 제품번호, 제품회사명, 카테고리명, 주문수량, 판매가, 변경된판매원가, 차이 SELECT A.PRODUCT_ID, SUBSTR(A.PRODUCT_NAME, 1, 5) AS COMPANY_NAME, PC.CATEGORY_NAME, OI.QUANTITY, A.LIST_PRICE, A.F_PRICE, (A.F_PRICE - A.LIST_PRICE) AS CHA FROM (SELECT P.PRODUCT_ID, P.PRO.. 2021. 9. 6.
[Oracle] OT 문제 만들기 스터디 3주차 문제1. (재현) 창고(WAREHOUSE_NAME) 이름이 7글자을 넘고 보유중인 총수량이 1등인 창고를 아래 정답과 똑같이 출력하시오(WHERE은 1번만 사용가능합니다) SELECT (LOWER(SUBSTR(A.WAREHOUSE_NAME, 1, 3)) || SUBSTR(A.WAREHOUSE_NAME, 5)) AS NAME, A.SUM AS QSUM FROM (SELECT W.WAREHOUSE_NAME, SUM(I.QUANTITY) AS SUM, RANK() OVER(ORDER BY SUM(I.QUANTITY) DESC) AS RNK FROM WAREHOUSES W INNER JOIN INVENTORIES I ON W.WAREHOUSE_ID = I.WAREHOUSE_ID GROUP BY W.WAREHOU.. 2021. 9. 6.
[Java] 함수 호출 'CallByValue' 와 'CallByReference' 의 차이 들어가면서.. Java를 사용하면서 클래스에 필요한 기능을 추가하기 위해 메서드를 만들어 애플리케이션을 구현한 경험은 누구나 있을 것으로 생각합니다. 하지만 저는 Java에 대해 공부하면서 메서드의 리턴 타입이 void인 매개변수가 없는 메서드 외에 매개변수가 존재하는 메서드의 경우 값을 복사하는지 or 직접 참조하는지에 따라 함수 호출 방법이 다르다는 것을 최근에야 알게 되었습니다. 바로 그 주인공인 CallByValue와 CallByReference가 오늘의 주제인데 차근차근 알아보도록 하겠습니다. 함수 호출 방법 함수 호출 방법에는 크게 2가지가 있습니다. CallByValue CallByReference 먼저 CallByValue는 말 그대로 '값에 의한 호출'을 말하고 CallByRefernce.. 2021. 9. 3.
[Java] JVM Architecture (ClassLoader, Runtime Data Areas, Execution Engine) 정리 앞서 JDK의 대해서 공부하면서 JRE를 통해 JVM이 구동되는 것을 배웠다. 오늘은 java의 핵심 프로그램 JVM(Java Virtual Machine)의 구조의 대해서 공부해보려고 한다. 모든 Java 개발자들은 바이트코드가 JRE(Java Runtime Environment)에 의해 실행된다는 것은 알고 있다. 하지만 많은 사람들은 JRE가 바이트 코드를 분석하고 코드를 해석하고 실행하는 JVM(Java Virtual Machine)을 구현하는 사실은 잘 모른다. 개발자로서 JVM의 구조의 대해 아는 것은 매우 중요한데, 그 이유는 JVM을 통해 코드를 보다 효율적으로 작성할 수 있기 때문이다. 그렇다면 어떤 구조로 작동하는지 JVM의 다양한 구성 요소를 알아보도록 하자. JVM이란? 가상 머신은.. 2021. 8. 31.
728x90
반응형