db 88

mysql "Specified key was too long; max key length is 1000 bytes"

Specified key was too long; max key length is 1000 bytes mysql 이 key 의 길이를 1000바이트로 제한하기 때문이다. mysql 측에서는 이걸 버그라 보지 않고 “제한”이라고 봐서 당분간은 처리할 용의가 없답니다. latin-1 에서는 1글자가 1바이트이지만 utf-8 에서는 한글자가 3바이트이기 때문에 크기 계산에 주의해야 한다. latin1 = 1 byte = 1 chararcter uft8 = 3 byte = 1 chararcter 즉, varchar(255)에서 255는 255 “바이트”가 아니라 “글자”이기 때문이다. utf-8일 경우 한글은 한 글자당 3바이트이므로 255 * 3 * 2 > 1000 이다. 해결은 TYPE… 부분을 ENGINE..

db/mysql 2010.08.30

mysql max_connect

Max connections 에러가 발생하면 PHP페이지에 Too many connection가 나옵니다. 이는 mysql에서 동시열결가능한 클라이언트수를 넘었기 때문이다. MySQL 서버는 동시에 연결될 수 있는 클라이언트의 수가 기본으로 100 명이다. 동시접속자수를 변경하려면 my.cnf을 수정하고 MySQL 서버를 재시작하면 된다. sudo vi /etc/my.cnf [mysqld] # 1,000 이상은 4Way CPU 와 상당한량의 메모리가 필요하답니다. 적절한 값은 256이라고 하는군요. max_connections = 500 table_cache = 256 wait_timeout = 50 참고 자포자기면 백전백승이고 지피지기면 진퇴양란? : mysql-too many connection 꿈을..

db/mysql 2010.08.21

mysql unauthenticated user 프로세스 문제

mysql 프로세스 리스트에 unauthenticated user 가 많이 쌓임. lookup 에서 시간을 잡아 먹음 sudo vi /etc/my.cnf [mysqld] skip-name-resolve 위 설정을 하고 mysql 재시작하니 문제가 없어졌습니다. 수면부족님의 포스팅 내용을 참고 했습니다. 위 현상에 대한 이유는 다른분들의 포스팅에 잘 설명이 되어 있습니다. 참고 mysql unauthenticated user | 말레이시아의 기막힌 절경이 보고파 unauthenticate user 수면부족 : MySQL unauthenticate user 프로세스가 쌓일때... 그외... vi /etc/my.cnf [mysqld] skip-networking skip-name-resolve skip-hos..

db/mysql 2010.08.20

DBMS에 따른 날짜포맷 변환

* DBMS에 따른 날짜포맷 변환 Oracle - MS SQL - DB2 UDB 의 서로 다른 날짜 형식을 맞추기위한 SQL문 * DBMS 별 시간, 날짜 조회 쿼리 Oracle select sysdate from dual; 날짜+시분초 까지 조회가능 select current_timestamp from dual; 날짜+밀리초+시간존 까지 조회MS SQL select getdate() 날짜 + 밀리초 단위까지 조회가능 DB2 UDB select current timestamp from sysibm.sysdummy1 날짜+밀리초까지 조회 가능 select current date from sysibm.sysdummy1 날짜만 조회 select current time from sysibm.sysdummy1 밀..

db 2008.11.10

[MSSQL] Identity 자동 증가함수

Identity :오라클의 시퀀스와 비슷한 기능 기본 사용법 사용 create table test( no int identity(1,1) NOT NULL, --(시작할 숫자값, 증가할 숫자값) name varchar(256) NULL )인서트시 증가된 값 얻어오기 Identity를 설정해준 테이블에 인서트한 경우 인서트한 identity 불러오기 위해서는 보통 다시한번 select를 해주게 된다. 인서트 쿼리 뒤에 select @@Identity을 붙여 주면 insert한 row의 identity를 불러올 수 있다. 사용예) insert into test(name) values('James') select @@Identity as 'id' (as 'id'는 별칭이므로 아무거라도 상관 없다.) 증가값을 임..

db/mssql 2008.10.16

Oracle Sequence

Sequenc 생성 자동적으로 순차적인 숫자를 생성하기 위해 Sequenc를 정의한다. CREATE SEQUENC NAME [INCREMENT BY n] [START WITH n] [{MAXVQLUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}] Sequenc 생성 여기서, INCREMENT BY n은 Sequenc번호간의 간격인 정수 n이며, 생략되면 Sequenc는 1씩 증가 START WITH n은 생성되는 첫 번째 Sequenc번호로 생략되면 시퀀스는 1씩 증가 MAXVALUE n은 생성가능한 Sequenc의 최대값 NOMAXVALUE는 기본 옵션으로 최대값은 1027 MINVALUE n은..

db/oracle 2008.09.24

오라클 내장함수

http://radiocom.kunsan.ac.kr/ 에 접근할 수 없어 아래 내용 링크는 더 이상 유효하지 않습니다. 오라클의 함수에는 단일행 함수와 복수행 함수(그룹함수)가 있다. * 숫자 함수(number function) ABS ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSH EXP FLOOR LN LOG MOD POWER ROUND(number) SIGN SIN SINH SQRT TAN TANH trUNC(number) WIDTH_BUCKET 문자 함수(character function) CHR CONCAT INITCAP LOWER LPAD LtrIM NLS_INITCAP NLS_LOWER NLSSORT NLS_UPPER REPLACE RPAD RtrIM SOUNDEX..

db/oracle 2008.09.09
반응형