2017-12-27 6 views
1

서문SQLite는 .NET 공급자 및 "문을 준비"기능

하나는 SQLite는의 "준비된 성명" 기능 here에 대한 설명을 찾을 수 있습니다.

SQLite는 명령 (.NET에 대한 SQLite는 공급자)는 방법 다음과 같은 설명과 함께 "준비"가 :

요약 : 는 아무것도 실행하지 않습니다. 명령은 실행될 때 준비되며 처음으로 준비된 상태로 유지됩니다.

질문 일반적으로

  1. 은, SQLite는의 준비된 문 기능이 반복해서 실행되는 쿼리의 전체적인 성능을 향상합니까?
  2. 준비된 진술은 어디에 보관됩니까? 이러한 준비된 진술이 실제로 사용되고 있는지 어떻게 확신 할 수 있습니까?
  3. Dapper가 이러한 진술을 사용하고 있는지 어떻게 확인할 수 있습니까? (제 경우에는 Dapper를 사용하여 동일한 쿼리를 수백 번 실행합니다. 쿼리는 전달 된 매개 변수을 기준으로 각 호출에서 10k 결과를 가져옵니다.

편집 :

Just've 부분적으로 내 질문에 대한 대답 this을 발견했다. Non가 아니라면 DbCommand를 구축하고 어딘가에 보관해야한다면 Dapper와 함께 명령을 어떻게 사용할 수 있습니까?

답변

2

Dapper가 현재 Prepare()을 호출하지 않는다고 말하는 것은 완전히 사실입니다.

당신은 확장 된 설명을 읽을 수 here

긴 이야기의 주요 이유는 짧은 : 단정 정말, 정말에서 작동 전형적으로 염두에 높은 동시성 설계 되었기 때문에, 연결을 저장할 및하지 않습니다 DbConnection이 수명이 짧은 시나리오

+1

글쎄, 그건 의미가 있습니다. 어쩌면 평범한 ADO.net이이 특정 시나리오에서 저에게 도움이 될 것입니다. 감사 –