목록MySQL (5)
하츠의 꿈
지금까지 설명했던 와이즈기가 UB-2200A 2TB는 무료로 홈페이지를 운영할 수 있는 웹서버로써의 역할을 수행할 수 있다. Raid-1으로 구성하여 사용할 수 있는 하드디스크 용량이 1TB이므로 웬만한 서버보다 용량이 크고, 대부분의 회사나 가정에서 사용하는 인터넷회선이 100MB급이므로 홈페이지를 운영하는 데에 아무런 문제가 없다. 인터넷회선을 제공하는 회사에서 제한을 할 수 있지만 거의 잡아내기는 힘들다. 홈페이지로 많이 사용되는 무료 웹프로그램 XE(Xpress Engine)를 이용하여 '와이즈기가 UB-2200A'에 홈페이지를 설치하는 방법을 설명한다. 'XE'는 스킨을 선택하거나 모듈을 추가하여 홈페이지나 블로그의 기능을 확장할 수 있어서 홈페이지 제작회사에서도 많이 이용하는 툴이다. 실속있는..
MySQL DB를 사용하는 경우, 특별한 규칙이 없는 256Byte가 넘는 텍스트는 도리없이 TEXT를 사용한다. 만약 해당 필드를 검색해야 한다면? 테이블의 Rows가 얼마 안되면 그냥 한 테이블에 담는다. TEXT필드를 별도의 테이블로 떼어낸다. 하지만, Row가 수십만이 넘어간다면 어떻게 하더라도 TEXT필드를 검색하기란 여간 부담이 되지 않는다. 그렇다고 검색엔진과 같은 방식을 쓰기에는 배보다 배꼽이 더 크고... 최근에 모 프로젝트를 하면서 유사한 고민이 생겼다. - 데이터 Bytes : 20 ~ 1,000 - 최대 Rows : 10,000,000 - 검색 조건 : 새로 저장할 값이 이미 존재하는 지 해당 필드에서 검색 - View 조건 : 관리자 화면에서 저당된 데이터를 확인할 수 있어야 한다..
작업 중인 모 사이트가 갑자기 다운되는 현상이 발생했다. 원인은 MySQL DB connect 숫가가 꽉 차서 연결이 안되서였다.(max_connections) 급하게 MySQL Daemon을 restart해서 다시 정상이 되기는 했지만 문제를 찾아야 했다. DB를 확인해 보니 1천만 row 가까운 테이블이 존재했고, 별다른 인덱스가 걸려있지 않았다. Slow Query Log와 해당 테이블을 사용하는 웹프로그램을 뒤져서 해당 테이블을 다른 테이블과 JOIN 하여 데이터를 추출하고 있다는 것을 알았다.... 웹프로그램을 짜다보면... '이 서비스가 얼마나 활성화되겠어? 조금 서비스하다가 말겠지..' 라는 안일한 생각과 게으름으로 쿼리를 대충 사용하는 경우가 종종 있다. 그런 경우 약간 만 동시접속자가 증..
리눅스나 유닉스에서 시간 처리할 때 흔하게 사용하는 것이 유닉스시간(Unixtime)이다. 대부분의 함수도 지원을 하고 불편함이 없이 사용하는 데 유독 DB에서는 자주 사용하지 않게 되서 꼭 필요할 때는 기억이 안난다.....-_-;; 1) Unixtime -> Date 형식(일반적인 시간)으로 변환 SELECT user_id, FROM_UNIXTIME(`regdate`,'%Y%m%d %H%i%s') FROM member : from_unixtime 이라는 MySQL 함수를 이용해서 입력받은 Unixtime 값을 일반적으로 사용하는 시간으로 변환한다. 이때 사용하는 "%" 값들은 PHP나 기타 프로그램에서 사용하는 시간 표현 문자와 동일하다. (PHP 의 date 함수 설명) 2) 현재 시간을 Unixt..
출처 : http://www.phpschool.com/bbs2/inc_view.html?id=9464&code=tnt2 [MYSQL] LIKE vs INSTR() 0. 배경 1. 영문 검색어 테스트 1-1. 앞 부분 검색 1-2. 중간 부분 검색 1-3. 끝 부분 검색 2. 한글 검색어 테스트 2-1. 앞 부분 검색 2-2. 중간 부분 검색 2-3. 끝 부분 검색 3. 결과 비교(표) 3-1. 영문 검색어 결과 3-2. 한글 검색어 결과 4. 결론 5. 후기 --------------------------------------- 0. 배경 TRUE 인 경우만 테스트한 경우임. ... cols LIKE '%한글검색어%' ... BINARY cols LIKE '%한글검색어%' 웹 게시판에서, 후자의 경우 속..