2017-02-04 3 views
0

나는 데이터베이스 ormlite로 만들었습니다ORMLite

나는 SQLite는 콘솔에서 쿼리를 수행 할 때 :

select * from records 

result is: 

3520 rows returned in 87ms from: SELECT * FROM `records` 

가 지금은 ORMLite에서 같은 수행

DatabaseHelper.get().getRecordsDao().queryForAll(); 

그것을 이 쿼리가 끝나기까지 약 70 초가 소요됩니다.

왜 그렇게 큰 차이가 있습니까?

답변

1

이 쿼리를 완료하는 데 약 70 초가 소요됩니다.

엔티티와 필드에 많이 의존합니다. 이것이 Android 아래에있는 경우 일반적으로 추가 시간은 메모리 대역폭입니다. SQL select *을 수행하면 텍스트 만 반환됩니다. ORMLite는 모든 열을 처리하고 엔티티의 모든 필드에 해당하는 천 가지 개체를 만듭니다.

또한 외래 객체가 열심히로드되면 추가 쿼리가 호출되어 다른 객체 각각이 사라집니다.

+0

그래, ormlite가 한 번에 모두 가져 오기 위해 join select를 생성 할 수 없다는 것을 알았습니다. –