mysql order by equal?
mysql order by column 시 column value가 같을 경우, sort 순서는 보장되지 않는다. (결과값이 달라질 수 있다.) 왜? 쉽게 생각해서 table에 저장된 row순으로 출력 되지 않을까 싶은데, 실제로는 table의 row는 disk에 순서대로 저장되지 않고, insert, delete, update 를 거치면서 물리적으로 저장된 순서가 바뀔 수 있고, 그것보다는 order by 사용시 index를 사용하지 못하는 경우, filesort 알고리즘을 이용하게 되는데 해당 알고리즘은 정렬 수행 시 메모리에 임시 테이블을 만들거나, 너무 커서 메모리에 저장 못하면, 메모리가 아닌 디스크에 쓴 뒤 (일부 sort → merge) 반복 동작이 수행되는데, merge 작업 시 순서가 보..
2023. 12. 5.