ORDER BY를 사용하지 않고 그냥 SELECT를 했을 때에요
같은 질의를 여러 번 수행할 때, 만일 질의의 결과가 여러 행이라면..
그 행들의 순서는 항상 같다고 보장되나요?
아니면 실행할 때마다 달라질 수 있는지요.. 답변 부탁드립니다.
현재의 DB 내의 데이터에 이후 절대 데이터가 추가되거나 삭제되지 않는다는 가정에서는 같습니다.
Primary key가 있을 경우
그것을 따라서 Select 됩니다..
보장할수 없습니다.
RDBMS 에 저장 되는 자료는 기본적으로 DB 의 attribute (field) 의 순서, row (record) 의 순서는 무시 되며 중요하지 않다는 가정을 하며, 모든 자료의 순서는 개인이 원하는 바대로 임의의 정렬을 해 줄 필요성이 있습니다.
물론 아무런 조작을 가하지 않은 상태에서는 같은 알고리듬으로 SELECT 를 하므로 그 순서는 일정할 가능성이 높습니다. 하지만 UPDATE/INSERT/DELETE 등의 작업이 일어 나면 그 순서가 틀려질 가능성이 높아 집니다.
RDBMS 는 기본적으로 정렬되지 않은 SELECT 에 대해서 그 순서를 보장하지 않습니다.