안녕하세요.

mysql에서 메모리 DB를 이용해야할 경우가 생겨 테스트를 진행하는겸 설정방법을 알려드리려고합니다.

 

mysql 테이블의 type을 memory로 변경하면 간단하게 사용하실 수 있습니다.

단점은 메모리에 올리기때문에 mysql이 재시작한다거나, 꺼지게되면 날라가게됩니다. (휘발성)

 

기본적으로 테이블의 타입은 InnoDB나 myisam디비를 사용하실텐데요, memory로 타입을 변경하여 성능 체크를 해보았습니다.

 

무한루프를 통하여 insert를 진행하였는데요,

 

간단하게 php 스크립트를 짜서 테스트하였습니다. (insert_test.php)

<?

 while(true){

  $query_ = "insert into test(field1,field2)values(now(), rand(..");

  mysqli_query($query);

 }

?>

해당 스크립트를 통해 innodb와 insert 성능 차이를 해본 결과

 

1초에 memory Type 3~4천개 정도가 들어가며, innodb는 15~30개선으로 들어가는것을 확인하였습니다.

성능 차이는 확실하나, 해당 memory 테이블의 max row는 max_heap_table_size=1G에 20만정도 래코드를 등록가능하였습니다.

 

 

+ Recent posts