2014-07-23 1 views
0

큰 SQLite 테이블을 주문하고 그 결과를 다른 테이블에 쓰고 싶습니다. 이것은 순서대로 반복해야하기 때문에 큰 테이블에서 주문하는 데 오랜 시간이 걸리기 때문입니다.SQLite 행을 지속적으로 정렬합니까?

(Python) 반복기를 사용하여 삽입 한 것과 같은 순서로 행을 사용할 수 있습니까? 그것을 보장 할 방법이 있습니까? (주문 캐싱으로 인해 캐쉬가 중단 될 수 있다는 의견을 들었습니다.)

+0

파이썬 이터레이터는 SQLite *가 생성 한 순서대로 행 *을 생성합니다. –

+0

대부분의 데이터베이스와 마찬가지로 SQLite는'ORDER BY '가없는 경우 행의 순서에 대해 0을 보장합니다. 주문을 원할 경우 주문해야합니다. –

+0

[_relational model_] (https://en.wikipedia.org/wiki/Relational_model)은 테이블을 튜플의 _sets_로 정의합니다. 따라서 데이터가 삽입 된 순서는 중요하지 않습니다. SQL은 다중 세트를 구현하지만 아직 주문 보증을 제공하지 않습니다. –

답변

2

내가 잘못 생각하는 것 같습니다. SQL 데이터베이스의 테이블에서 특정 순서로 데이터를 추출하는 데 너무 오래 걸리면 인덱스를 추가해야한다는 신호입니다.

+0

인덱스가 주문 (ORDER BY)에 의한 반복 처리를 빠르게합니까? 하나의 열이 모든 고유 값을 그룹화하여 입력해야합니다. – Gerenuk

+0

예, 이것이 바로 색인입니다. –

관련 문제