SQLite .net提供程序和“准备语句”功能

问题描述 投票:1回答:1

前言

可以找到SQLite的“准备语句”功能here的描述。

SQLite命令(.NETite的SQLite提供程序)有一个方法“Prepare”,其中包含以下描述:

摘要:什么都不做。命令在第一次执行时准备好,之后保持准备状态。

质询

  1. 一般来说,SQLite的Prepared Statement功能是否会提高查询的整体性能,而这种性能会一次又一次地执行?
  2. 准备好的陈述保存在哪里?我如何确定这些准备好的陈述实际上是在使用?
  3. 我如何确定Dapper正在使用这些陈述? (在我的例子中,我使用Dapper运行相同的查询几百次。查询在每次调用时获取10k结果,基于传递的参数)。

编辑:

刚刚找到了this,它部分回答了我的问题。尽管如此,如果我需要构建自己的DbCommand然后将其保存在某个地方,我怎么能在Dapper中使用该命令?

c# sqlite dapper
1个回答
2
投票

完全可以说Dapper目前没有打电话给Prepare()

你可以阅读扩展的解释here

长话短说的主要原因是:Dapper真的,真的不想存储你的连接,因为它的设计考虑了高并发性,通常在DbConnection短命的场景下工作

© www.soinside.com 2019 - 2024. All rights reserved.