HEAP 테이블이 가장 빠르다
MyISAM 타입은 무자게 빠르며, 대용량에도 강합니다. 그러나 트랜잭션은 지원되지 않습니다.
이노디비(InnoDB) 는 트랜잭션이 지원 됩니다. 쇼핑몰에서는 반드시 사용해야 합니다 ^^
HEAP 테이블 타입은 가장 빠르며, 단점은 메모리에 있기 때문에, MySQL에 중지 될 경우 모두 날아 갑니다.
검색을 하고 재검색을 다시 하는 경우, 임시 검색 테이블을 만들어 놓는 것도 좋은 방법입니다.
mysql>CREATE TABLE email_addresses TYPE=HEAP (
->email char(55) NOT NULL,
->name char(30) NOT NULL,
->PRIMARY KEY(email) );
int,smallint,tinyint 데이터형
tinyint 는 몇백 까지만 됩니다. 1바이트 구요.
쓸데 없이 int 를 사용하지 마세용 !!
4바이트와 1바이트는 4배 차이 입니다.조그만것 1개 1개가 모여 서버 부하를 일으 킵니다.!!
데이터 량이 얼마만큼 들어가는지 체크 하고 데이터형을 선택 하세요 ^^
만약 쓸데없는 데이터 형이다 싶으면 alter table 로 데이터 형을 바꾸세요 !
인덱스의 사용
인덱스를 줄 경우 하드 용량을 더 차지 하기 때문에 속도를 떨어 뜨릴 수 있습니다.
모든 칼럼에 인덱스를 주는 것은 절대 추천 하지 않습니다.
1개의 테이블에 주키외에 2-3 개 이상의 인덱스는 주지 마세요!
주키는 당근 인덱스 입니다. ^^
CREATE TABLE albums (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(80)NOT NULL,
INDEX title_idx (title)
);
☞Alter Table 로 인덱스 추가
ALTER TABLE albums ADD INDEX title_idx (title)
결합 인덱스의 경우 너무 많은 인덱스를 사용할 경우 CPU 오버헤드나 하드 오버헤드를 불러 일으 킵니다.
적당히 사용하세요 ^^
그런디 게시판 제목(Subject) 에 인덱스 걸어 놓고 , 검색을 %$search% 이렇게 하면 될까요?
인덱스 거나 안거나 똑같습니다. !!
기타
OPTIMIZE TABLE 명령을 자주 사용해라 !
Not null 로 지정 하는 것이 빠르다.
varchar 보다 char 이 훨빠르다.
'데이타베이스' 카테고리의 다른 글
MySQL 로그 파일 관리 - mysql rotate를 이용하여 쿼리 로그 확인 (0) | 2008.10.10 |
---|---|
MYSQL 동시접속자 등 높을경우 (0) | 2008.10.10 |
MYSQL DB에서 램덤으로 값 받기 (0) | 2008.10.10 |
2건 이상 중복되는 회수 구하기 쿼리 예 (0) | 2008.10.10 |
mysql 유용한 팁 (0) | 2008.10.10 |
mysql 동시접속자 수 (0) | 2008.10.10 |
./configure 할때 다음과 같이 에러가 생길땐 (0) | 2008.10.10 |
checking "LinuxThreads"... "Not found" (0) | 2008.10.10 |