old posting

    [JSP]커넥션 풀(Connection Pool)

    커넥션 풀(Connection Pool) 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(Pool) 속에 저장해두고 필요할 때 커넥션을 가져다 쓰고 다시 풀에 반환하는 기능을 의미한다. 사용 순서 풀에서 커넥션을 가져온다. 커넥션을 사용한다. 풀에 커넥션을 반납한다. 장점 미리 만들어져 있기 때문에 커넥션을 생성하는 시간이 소비 되지 않는다. 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수가 많지 않다. 커넥션을 생성하고 닫는 시간을 줄일 수 있기 때문에 그만큼 어플리케이션 실행속도가 빨라진다. 한번에 생성할 수 있는 커넥션의 수를 정할 수 있기 때문에 동시에 접속자 수가 몰려도 웹 어플리케이션이 쉽게 다운되지 않는다. 동시 접속자 처리 방법 커넥션 풀에서 생성되어 있는 커넥션의 개수는 한정적이므..

    [JSP] Statement와 PreparedStatment 그리고 ResultSet

    Statement Connection 객체로부터 Instance화하여 만들어내며, DB에 SQL을 보내기 위한 준비작업과 실제 SQL를 실행하여 결과갑슬 주는 API를 제공한다. 장점 사용이 편리하다. 단점 디버깅이 어렵다. Overhead가 많다. SQL문 재사용이 어렵다. Statement의 주요 메소드 execute() 질의문(SELECT), 갱신문(INSERT, UPDATE, DELETE) 모두 사용할 수 있다. 질의문의 결과(ResultSet)를 얻기 위해서는 getResultSet() 메소드를 사용해야한다. executeQuery() SELECT문을 DB로 넘겨 실행시키고자 할 때 사용한다. ResultSet 객체를 Return하며, Argument로는 Query할 SELECT문장을 Strin..

    [SQL] PL/SQL 기초

    PL/SQL Procedural LANGUAGE / SQL 오라클에서 제공하는 프로그래밍 언어 기본 SQL만으로는 데이터 조작이 불편(부족)한 부분을 PL/SQL과 함께 사용하면 효과적으로 다룰 수 있다. PL/SQL은 dbeaver에서 사용할 수 없다. PL/SQL은 기본적으로 처리된 PL/SQL의 결과를 화면에 출력하지 않는다. PL/SQL Block 구성 DECLARE(선언부) 변수나 상수 선언 EXECUTABLE(실행부) 제어, 반복, 출력, 함수정의 등... ex) BEGIN ~ END EXCEPTION(예외처리) 실행도중 발생된 에러 처리 CMD에 결과 출력 DBMS_OUTPUT.PUT_LINE(); &을 이용한 변수의 자세한 값 변화 표시를 OFF한다. (기본값 ON) SET VERIFY O..

    [SQL] INDEX와 INDEX의 종류 그리고 주의 사항

    인덱스(Index) 데이터(레코드)를 빠르게 접근하기 위해 쌍으로 구성된 데이터 Index가 없으면 테이블의 특정값을 찾기 위해 모든 데이터를 서치하는 TABLE SCAN 발생 테이블에 기본키(PK)가 있으면 기본키(PK)에 대한 기본 인덱스가 자동 생성된다. 인덱스의 종류 M-one 검색 Tree B-Tree B*-Tree B+-Tree 인덱스를 잘 사용하면 성능이 향상될 수 있지만, 잘못 설정하면 역효과가 발생한다. ROWID 테이블에서 행의 위치를 지정하는 논리적인 주소값 기본적으로 INSERT 되는 순서대로 입력 되지만, 정렬 없이 저장된다. SELECT name, ROWID FROM test; INDEX는 WHERE 절에 오는 조건컬럼이나, JOIN 조건절에 오는 조건컬럼에 만들어 두는게 원칙이..