DB 속도 개선 1. 쿼리를 잘 분석한 후 꼭 필요한 칼럼만 인덱스로 만들어야 한다. 2. 최대한 작은 칼럼 타입을 선택하라. 3. varchar 보다는 char를 사용하라 (varchar를 사용하면 디스크 사용량을 줄일 수 있는 반면 검색 시 속도가 떨어지게 된다.) 4. enum 칼럼을 사용할 수 있으면 사용하라. 5. not null을 사용하라(not null을 이용하면 속도가 빨라지며 한 칼럼 당 1비트를 줄일 수 있다.) 6. procedure analyse()를 사용하라( 3.23.x 이상의 버전에서 쓸 수 있는 기능으로 해당 칼럼을 어떤 타입으로 정의하면 좋을 지를 보여줍니다.) -> 예 : select * from zipCode procedure analyse(); 7. BLOB 이나 TE..
select a.* from ( select tmp.*, rank() over (partition by mail_ymd order by (send+blocks) desc) as rank from ( select mail_ymd, org_nm, sum(i_normal_sum+o_normal_sum) send, sum(i_block_sum+o_block_sum) blocks, sum(i_block_control+o_block_control) control, sum(i_block_filter+o_block_filter) filters, sum(i_block_spam+o_block_spam) spam, sum(i_block_user+o_block_user) users, sum(i_block_virus+o_blo..
SQL의 실행계획 보기(EXPLAIN) [문법] EXPLAIN tbl_name or EXPLAIN SELECT select_options EXPLAIN tbl_name EXPLAIN tbl_name은 테이블의 구조를 나타냅니다. EXPLAIN SELECT select_options EXPLAIN SELECT select_options 은 SQL의 실행계획을 표시합니다. 결과에 나오는 항목으로는 table : 테이블 명 type : 조인의 타입 system : 테이블이 하나의 레코드만 가지는 경우 const : 테이블에 조건을 만족하는 레코드가 하나일 때, 상수 취급 eq_ref : 인덱스가 UNIQUE이거나 PRIMARY KEY인 경우의 조인으로 const를 제외한 조인 중 가장 좋은 형태 ref : e..
MySQL 데이터베이스 서버 5.0의 신기능 MySQL 사용자들이 2년 이상의 개발기간 동안 애타게 기다려 왔던 MySQL 데이터베이스 서버 5.0 버전의 발표가 이제 11월로 다가왔다. MySQL은 많은 버전업에도 불구하고 크게 눈에 띄는 기능상의 변화가 적었다. 하지만 그 동안의 MySQL 사용자들이 다른 데이터베이스 서버에 비해 부족하다고 생각했던 기능들을 이번 5.0 버전에서는 대부분 충족시켜줄 정도로 혁신적인 업그레이드가 이뤄졌다. MySQL AB사가 새로운 도약을 위해 심혈을 기울인 MySQL 5.0에서는 어떠한 변화가 이뤄졌는지 자세히 살펴보자. MySQL은 3.x 버전에서 본격적으로 사용되기 시작했고 4.x 버전에서 기본 기능들을 안정화시키는 기간을 거쳐 이제는 성숙기에 접어드는 5.0 버..
# 이글은 mysql document 의 7.2.1 Explain Syntax 를 대~충 번역한 것입니다. # 틈틈이 번역하고 있으나 언제 완료될지 모릅니다.. EXPLAIN 을 사용함으로써 인덱스가 적절히 사용되고 있는지 검토할 수 있다. 인덱스가 잘못 사용되고 있다면 ANALYZE TABLE 을 사용하여 테이블을 점검하라. 이것은 테이블의 상태를 갱신하며 옵티마이저의 동작에 영향을 준다. 옵티마이저가 SELECT 에 기록된 순서대로 조인을 행하게 강제하려면 SELECT 대신에 SELECT STRAIGHT_JOIN 을 사용하라. EXPLAIN 은 SELECT 문에 사용된 각 테이블당 하나의 행을 리턴한다. 나열된 순서는 MYSQL 이 쿼리처리에 사용하는 순서대로 출력된다. MYSQL 은 모든 조인을 s..
mysql의 주요 함수 참조 : http://dev.mysql.com/doc/mysql/en/functions.html 여기서는 mysql의 주요 함수에 대해서 설명한다. 지면관계 상 모든 함수를 설명하지는 못했으며 기초적인 함수와 중요함수 위주로 설명했다. 또한 mysql은 개발 속도가 비교적 빠른 데이터베이스 이므로 가능한 매뉴얼을 참고하는 것이 바람직하다. 편의를 위해 각 함수의 결과는 간략하게 표현했다. 예를 들어 다음 문장의 실행 결과를 mysql> select mod(29,9); 1 rows in set (0.00 sec) +-----------+ | mod(29,9) | +-----------+ | 2 | +-----------+ 아래와 같이 표현했다. mysql> select mod(29,..
【형식】 table_reference, table_reference table_reference [CROSS] JOIN table_reference table_reference INNER JOIN table_reference join_condition table_reference STRAIGHT_JOIN table_reference table_reference LEFT [OUTER] JOIN table_reference join_condition table_reference LEFT [OUTER] JOIN table_reference table_reference NATURAL [LEFT [OUTER]] JOIN table_reference { OJ table_reference LEFT OUTER JOIN..
http://www.mysql.com/doc/en/Adding_functions.html 요즘 PHP할 기회가 있어 올만에 놀러와 쓸때없는 글 올립니다......^^; [UDF생성방법] - 환경설정 . LD_LABRARY_PATH를 path에 추가한다. shell)vi /etc/ld.so.conf - ld.so.conf file - /usr/local/mysql/lib/mysql/lib(mysql library디렉토리) shell)ldconfig (설정을 적용함) 간단하게 한글체크하는 예제를 만들어 봤습니다. ishangul.c 소스============================================================ #include #include #include my_bool i..
MySQL 함수 숫자 관련 함수 ▶ ABS(숫자) : 절대값 출력. select abs(123); ▶ CEILING(숫자) : 값보다 큰 정수 중 가장 작은 수. --양수일 경우는 소숫점 자리에서 무조건 반올림(4.0과 같은 소숫점 자리 0 값은 제외) --음수일 경우는 소숫점 자리를 무조건 버림 select ceiling(4.0); select ceiling(4.1); select ceiling(4.9); ▶ FLOOR(숫자) : 값보다 작은 정수 중 가장 큰 수[실수를 무조건 버림(음수일 경우는 제외)]. --음수일 경우는 [.0/.00/.000/...] 을 제외하고 무조건 소숫점을 버리고 반내림(?) select floor(4.0); select floor(4.1); select floor(4.9)..
FREETDS를 이용해 LINUX-PHP에서 원격의 MS-SQL 연결하기 LINUX OS 에 PHP 를 사용하면서 원격의 MS-SQL에 연결하는 방법에 대한 내용입니다. 웹상에 관련 자료가 있긴 했지만, 저의 작업 환경과 틀려서인지, 세부 내용이 잘못 기재되어 있는것들이 많아, 어렵게 작업을 성공한 이후 나름대로 관련 내용을 정리했습니다. 해당 작업을 하는 분들에게 조금이나마 도움이 되었으면 합니다. 현존하는 LINUX + PHP 와 MS-SQL 연결 방법 1. freetds 을 이용한 방법 2. Sybase Client Library 을 이용한 방법 3. odbc 를 이용한 방법 저는 관련 내용이 많이 배포되어 있는 FREETDS 를 이용한 방법을 사용했습니다. - 작업 환경 - Linux REDHAT..
- Total
- Today
- Yesterday