본문 바로가기

Database/Mysql7

mysql 테이블과 인덱스 설계 시 주의사항 13가지 테이블 설계 시 유의 사항 1. 반드시 Primary Key를 정의하고 최대한 작은 데이터 타입을 선정한다.로그 성 테이블에도기본적으로 PK 생성을 원칙으로 함InnoDB에서 PK는인덱스와 밀접한 관계를 가지므로 최대한 작은 데이터 타입을 가지도록 유지 2. 테이블 Primary Key는 auto_increment를 사용한다.InnoDB에서는 기본키 순서로 데이터가 저장되므로, Random PK 저장 시 불필요한 DISK I/O가 발생 가능InnoDB의 PK는절대 갱신되지 않도록 유지(갱신 시 갱신된 행이후 데이터를 하나씩 새 위치로 옮겨야 함) 3. 데이터 타입은 최대한 작게 설계한다.시간정보는MySQL데이터 타입 date/datetime/timestamp 활용IP는INET_ATON(‘IP’), INE.. 2015. 6. 23.
프로시저의 예 아래는 커서를 사용한 프로시저의 예 입니다. DELIMITER $$ DROP PROCEDURE IF EXISTS `디비명`.`프로시저명` $$ CREATE PROCEDURE `디비명`.`프로시저명_merge`( IN 변수1 VARCHAR(32), IN 변수2 INT ) BEGIN DECLARE m_필드값1 VARCHAR(32); DECLARE m_필드값2 VARCHAR(32); DECLARE m_Done INT DEFAULT 0; /* 여기에 커서를 정의 합니다. */ DECLARE m_Cursor CURSOR FOR SELECT 필드1, 필드2 FROM 테이블명 WHERE 필드1 = 변수1 AND 필드2 = 변수2; /* 데이터가 없으면 m_Done에 1 */ DECLARE CONTINUE HANDLE.. 2011. 1. 26.
MySQL DUMP 백업 및 복원 == 백업 == DB전체 덤프 mysqldump -u[아이디] -p[비밀번호] -all-databases > [저장될 파일명] DB만 덤프 mysqldump -u[아이디] -p[비밀번호] [디비명] > [저장될 파일명] 테이블 구조만 mysqldump -u[아이디] -p[비밀번호] --no-data [디비명] [테이블명] > [저장될 파일명] 테이블구조를 제외한 데이터만 덤프 mysqldump -u[아이디] -p[비밀번호] --no-create [디비명] [테이블명] > [저장될 파일명] ==복구 == 덤프파일을 이용한 복구 mysql -u[아이디] -p[암호][디비명] < [파일명] 패스워드 동시 입력시 복구 안되면 mysql -u[아이디] -p[공백][디비명] < [파일명] 2010. 9. 20.
load data load data [local] infile 'path' into table table_name [fields terminated by] [lines terminated by] [fields enclosed by] 일반 파일을 table의 해당 각각의 컬럼에 입력합니다. c:/test.txt ------------------------------------------------------------------------------------------ n 오락실 지출 300 n 용돈 수입 1000000000 n 새우깡 지출 500 n 꽁돈 수입 150 --------------------------------------------------------------------------------------.. 2010. 7. 19.
mysql replication error http://cafe.rootcenter.com/130078704068 mysql replication 진행도중 slave서버의 error-log 파일내용을 확인한 후 대처법 에러유형-4) - 2010년 5월 3일 추가 100503 8:41:05 [ERROR] Error reading packet from server: log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master ( server_errno=1236) 100503 8:41:05 [ERROR] Got fatal error 1236: 'log event entry exceeded max_allowed_packet; Increase max_allowed_pa.. 2010. 6. 28.
LOAD XML Syntax [v5.5] 호~ 괜찮은데... xml loader... LOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE [db_name.]tbl_name [CHARACTER SET charset_name] [ROWS IDENTIFIED BY ''] [IGNORE number [LINES | ROWS]] [(column_or_user_var,...)] [SET col_name = expr,...] * 명령어들 shell> mysql --xml -e 'SELECT * FROM mytable' > file.xml mysql> LOAD XML LOCAL INFILE 'person-dump.xml' INTO TABLE p.. 2010. 4. 7.