그래서 SQLite 사용량이 매우 많은 응용 프로그램을 작성하고 있습니다. 내 응용 프로그램에 메모리 캐싱 시스템을 써서 내 데이터 (내 개인적인 핵심 데이터 ... 본질적으로)를 정렬하고 필터링 할 수 있도록 노력하고 있습니다. 그것은 SQLite 데이터베이스에서 지속적으로 읽기 요청을하는 것보다 더 좋고/더 빠른 옵션이라고 생각하기 때문에이 작업을 수행하고 있습니다. 또한 대부분의 필드/열은 검색 가능/정렬 가능하며 각각의 인덱스를 설정하는 것이 이상적이지 않습니다. 그러나 나는 확실하지 않다. 나는 SQLite 데이터베이스가 메모리에 캐시되어 있다는 것을 알고 있지만 어느 정도까지 또는 얼마나 많은 이점이 있는지 알지 못합니다. 내 자신의 캐싱 시스템을 구현하는 것은 복잡 할 것이고 특히 메모리에 각 테이블을 완전히로드하여 정렬/필터를 수행 할 때마다 내 메모리 공간이 추가 될 것입니다. 내 앱의 성능 향상에 도움이된다면 기꺼이 해보 겠지만 그렇게 할 수 있을까요? SQLite 캐싱만으로도 충분히 의존 할 수 있습니까? 그렇지 않으면 테이블이 커지기 시작합니다 (10,000+ 행). 나는 누군가가 SQLite에 대해 충분한 경험을 가지고 있는지를 묻고있는 것 같아.SQLite 캐싱 대 응용 프로그램 캐싱
누구나 묻기 전에 : 아니오 코어 데이터를 사용할 수 없습니다. 핵심 데이터는 내 응용 프로그램에서 사용하기에 충분히 유연하지 않습니다.
아무도 없습니까? 음, 내 자신의 캐시를 만들어 보겠습니다. 어쨌든 재미있는 프로젝트가 될 것이고 적어도 나는 무슨 일이 일어날 지 알게 될 것입니다. –
sqlite는'pragma locking_mode = exclusive' IIRC를 사용하면 훨씬 빨라질 수 있습니다. –