Search result

One to Many 조인에서 Many 쪽 최종 레코드만 조회하기

고객 목록에 고객별 최근 주문 1건에 대한 요약 정보를 보여주세요. 라는 요구사항이 있습니다. “고객” 객체와 “주문” 객체간의 관계는 다음과 같습니다. +------------+ 0..* +------------+ | Cust...

Database work-n-play

SQL Injection 방어

그림출처: Exploits of a Mom Cut#1 (학교) 여기 학교인데요. 전화 드린 이유는, 학교에 컴퓨터 문제가 좀 있어서요. Cut#2 (엄마) 우리 애가 사고쳤나요? (학교) 예... 일종의... Cut#3 (학교) 그런데, 정...

Database learn-n-think Security

코드이그나이터 - 데이터베이스 쿼리의 값을 이스케이프 시키기

☞ 이스케이프 문자와 인젝션 우리가 알고 있는 이스케이프 문자는 \(백슬래시) 로 시작되는 문자이며, 이스케이프는 PHP 나 기타 프로그래밍시 문자열에 대한 제어를 할 수 있는데 이러한 이스케이프 문자열중 자주...

Database dreamload 코드이그나이터 CI Codeiginter db escape 데이터베이스 이스케이프

MySQL 퍼포먼스 향상 (4) 정규화

4. 정규화와 비정규화  - 정규화 되어진 데이터베이스에서는 팩트가 한나씩 존재하지만, 비정규화에서는 정보가 중복되어 있다.  - 퍼포먼스 문제를 해결하기 위해 스키마 정규화는 좋은 방법이다. 왜냐하면 정규화...

Database

MySQL 퍼포먼스 향상 (4) 정규화

4. 정규화와 비정규화  - 정규화 되어진 데이터베이스에서는 팩트가 한나씩 존재하지만, 비정규화에서는 정보가 중복되어 있다.  - 퍼포먼스 문제를 해결하기 위해 스키마 정규화는 좋은 방법이다. 왜냐하면 정규화...

Database

MySQL 퍼포먼스 향상 (3) 인덱스

3. 인덱스B-tree 인덱스  - 인덱스는 데이터 사이즈에 비례한다.  - 인덱스는 스토리지 계층에서 사용되며 엔진마다 조금씩 동작이 다르다.  - MySQL 의 거의 모든 스토리지 엔진은 B-Tree 인덱스이다.  - B-Tree 인...

Database

MySQL 퍼포먼스 향상 (3) 인덱스

3. 인덱스B-tree 인덱스  - 인덱스는 데이터 사이즈에 비례한다.  - 인덱스는 스토리지 계층에서 사용되며 엔진마다 조금씩 동작이 다르다.  - MySQL 의 거의 모든 스토리지 엔진은 B-Tree 인덱스이다.  - B-Tree 인...

Database

MySQL 퍼포먼스 향상 (2) 스키마 최적화

2. 스키마 최적화, 그리고 인덱스데이터형 지정 관련  - 데이터형은 사용가능한 가장작은 형을 사용해야 한다.  - 문자보다는 숫자같이 단순한 형이 좋다.  - 필드는 NOT NULL 로 지정하고 디폴트 값을 넣자. NULL...

Database

MySQL 퍼포먼스 향상 (2) 스키마 최적화

2. 스키마 최적화, 그리고 인덱스데이터형 지정 관련  - 데이터형은 사용가능한 가장작은 형을 사용해야 한다.  - 문자보다는 숫자같이 단순한 형이 좋다.  - 필드는 NOT NULL 로 지정하고 디폴트 값을 넣자. NULL...

Database

MySQL 퍼포먼스 향상 (1) 아키텍처

1. MySQL 의 아키텍처   우선 MySQL 의 아키텍처 면에서 퍼포먼스를 생각해보자.MySQL 은 논리적 3 계층으로 구성되어짐.  - 접속관리 및 시큐리티 :  유저 1  명당 1개의 스레드가 작성되어지며, 항상 캐쉬처리 된...

Database