2013. 7. 29. 17:12

출처 : http://www.zetswing.com/bbs/board.php?bo_table=MySQL_LEC&wr_id=61


ssl연결,sql캐시,다중삭제,union,fulltext,외래키(Foreign Keys)


목차


union

ssl연결

SQL Cache 기능

fulltext

외래키(Foreign Keys)




union

 

-select 한 여러 결과를 한번에 서버로부터 가져오는 기능이다.


ex)

create table lee{
a int not null auto_increment primary key,
b char(10) null,
c blob null);
create table lee1{
a int not null auto_increment primary key,
b char(10) null,
c blob null);
적당히 lee와 lee1에 레코드를 입력하고

select * from lee union select * from lee1

select a,b from lee union select a,bzz from lee1

ad)컬럼의 수가 같고 각컬럼당 데이타형이 같아야합니다.


ssl연결

 

ssh클라이언트인 putty나 zterm으로 연결하듯이 mysql관리 클라이언트를 이용해 연결시

ssl을 이용해서 보안을 강화해서 연결한는것

 

SQL Cache 기능

 

처음 실행한 SQL의 결과를 캐시에 저장한후 이후에 같은 SQL을 실행시에 새롭게 실행하지 말고 캐시에 저장된 결과값을 가져오는 기술

※ 캐시 메모리를 이용하므로 속도가 빠르다.

※ 해당 머신의 캐시 메모리 크기가 크면 클수록 좋은 성능을 낸다.

※ ORACLE, MSSQL, DB2 와 같은 DBMS는 예전부터 지원하던 기능이다.

 

fulltext

 

통상적으로 어떤한 dbms라도 일반적인 방법으로는 like '%keyword%'와같은 조건으로 검색할때는 인덱스를 사용할수 없습니다. 

왜냐하면 keyword라는 단어가 문자열에서 어디에 있는지를 인덱스을 사용해도 알수없기 때문입니다. like keyword%와 같이 keyword로 시작하는 문자열을 찾을때는 인덱스를 사용할수있지만 keyword가 중간에 포함되는 문자열을 찾는 것은 단순한 인덱스로 해결할수 없습니다. 따라서 like '%keyword%'와 같은 쿼리는 어쩔수없이 모든 레코드를 검색해야하고 따라서 검색시간이 많이 걸립니다. 하지만 아쉅게도 게시판등의 시스템에서는 like '%keyword%' 와 같은 검색을 아주 많이 사용합니다. fulltext는 백터스페이스 모델을 이용하여 like '%keyword%'와 같은 쿼리도 인덱스를 사용할수있도록 해주는겁니다.

mysql4.0까지는 지원하지만 single byte만(1바이트-영문)만 지원합니다. 한글등 기타언어들은 2바이트인경우가 많아서 multibyte는 아직 지원하지 않습니다.

3.x대 지원안함

4.0대 지원함(싱글바이트)

4.1대 알파 지원함(싱글,멀티바이트는 불안함)

fulltext는 varchar나 text컬럼에 인덱스를 만들고 검색을 빠르게 할대 사용되지만 한국등의 멀티바이트는 지원하지 않습니다. fulltext는 막강한 기능이지만 아직 한글을 지원하지 않는다.

 

외래키(Foreign Keys)

현재도 3.x, 4.x 버전에서 INNO DB를 사용하면 지원 받을 수 있다. 하지만 기본 테이블인 MyISAM에서는 4.1 버젼부터 지원 예정이다.

'DBMS > MySQL' 카테고리의 다른 글

MYSQL 성능 향상 정리  (0) 2013.07.29
초급QUERY  (0) 2013.07.29
JOIN(조인) 사용하기  (0) 2013.07.29
[MySQL] 자동증가값  (0) 2013.07.29
Mysql insert 와 select 같이 쓰기  (0) 2013.07.29
Posted by 1+1은?