Mysql 에서 유니크 키를 다중으로 사용하는 경우 select 등으로 조회하는 경우에도 속도가 저하 되나요?
본문
안녕하세요
Mysql 에서 1개에 테이블에 유니크 키를 다중(두-세개)으로 사용하는 경우
select 등으로 조회하는 경우에도 속도가 저하 되나요?
그누보드에서 예를 뎔면
DROP TABLE IF EXISTS `g5_popular`;
CREATE TABLE IF NOT EXISTS `g5_popular` (
`pp_id` int(11) NOT NULL auto_increment,
`pp_word` varchar(50) NOT NULL default '',
`pp_date` date NOT NULL default '0000-00-00',
`pp_ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`pp_id`),
UNIQUE KEY `index1` (`pp_date`,`pp_word`,`pp_ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
위와 같이 유니크 키를 3가지를 index1 로 하는 식으로 사용할 때
mysql 인서트문에서 그만큼 속도 저하가 있는 것은 알겠으나
(대신 중복을 막는 다는 이점이 있다 라고 이해 했습니다.)
(물론 프라이머리 키도 있지만 그 외로)
1. 인서트(insert) 보다 select가 훨씬 잦고 테이블의 총 행이 50000개(5만개) 이하의 작은 테이블인데
select 같은 조회 쿼리하는 경우에도 속도저하 가 있는지요?
2. 만약 속도 저하가 있다면 테이블 자체가 작기 때문에 거의 차이가 없는 정도의 수준인가요?
!-->
답변 1
쿼리 속도는 ISAM, InnoDB 등의 차이도 있고, 서버의 성능과도 상관이 있겠지만...
일반적인 서버상에서 5만건정도라면 크게 Select에 있어서 거의 차이가 없을것이라고 판단됩니다.
보통 느려지는 경우는 Insert, Update, Delete를 할때 테이블에 Lock이 걸려 대기하는 경우가 대부분입니다.
결론은 크게 부담 갖지 마시고 진행하셔도 될 것 입니다.
답변을 작성하시기 전에 로그인 해주세요.