java - Android SQLite 预准备语句生命周期

标签 java android sqlite

与原始 SQL 语句相比,SQLite 准备好的语句似乎是执行查询的好方法。我只是想知道它们应该保留多久。

静态编译该语句是否安全,即仅编译一次并在许多查询中继续使用相同的语句? 如果这不是线程安全的,那么在本地线程上怎么办? 相反,如果您只使用一次准备好的语句,它们仍然是首选吗?

最佳答案

准备好的语句的优点是:

  • 随着执行计划被缓存,性能会更好。

  • 这是一种针对 SQL 注入(inject)进行编码的好方法,因为它会转义输入 值(value)观。

  • 当涉及到没有未绑定(bind)变量的语句时,数据库 可以自由地进行最大程度的优化。单独的查询将是 速度更快,但缺点是你需要做数据库 一直在编译,这比编译的好处更糟糕 更快的查询。

对于 Java 编程,请查看 Statement and PreparedStatement

关于java - Android SQLite 预准备语句生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529956/

相关文章:

java - 如何以小写字母设置标签栏上的文本?

java - session 未创建,此版本的 ChromeDriver 仅支持 Chrome 版本 74

iphone - 使用 Core Data 和 NSManagedObject 保存列表

java - 如何使用私有(private)构造函数运行最终类中的方法?

java - 为什么在向正在运行的进程发送输入时需要添加\n 和\r?

Android - 屏幕方向重新加载 Activity

android - 如何在 Android 设备上的 TWA 应用程序上隐藏 'Running in Chrome' toast?

java - 无法从扩展 DialogFragment 的类创建默认构造函数,我已经创建了自己的自定义构造函数

ios - 是否可以通过核心数据以编程方式更改表

sql - 如何将扩展加载到 SQLite 中?