대용량 DB 데이터에서 테스트해본 내용을 정리했다.



ORDER BY RAND()는 성능이 좋지 않아서 잘못하면 DB 성능에 악영향을 미칠 수 있다. 


SELECT name, birth FROM birthday ORDER BY RAND() LIMIT 10




index를 가진 필드를 기반으로 범위로 정하는 것이 조금 나은 형태인듯 하지만..


SELECT name, birth FROM birthday WHERE birth>=0101 and birth<=0131 LIMIT 10



그러나 대용량 데이터에서는 데이터가 많아지면서 범위 지정은 점차 성능 저하가 나타날 수 있다. 


따라서 범위를 정하지 않는 게 가장 낫다.



SELECT name, birth FROM birthday WHERE birth=0101 LIMIT 10


SELECT name, birth FROM birthday WHERE birth=0102 LIMIT 10



'DB' 카테고리의 다른 글

mysql 5.7.5에서 크게 바뀐 내용  (0) 2017.09.27
[mysql] 테이블의 컬럼 삭제, 변경, 추가  (0) 2017.06.18
[derby] validation query  (0) 2017.04.10
[mysql] auto increment 이슈  (0) 2016.12.19
[mysql] alter table after 필드  (0) 2016.11.16
Posted by '김용환'
,