首页 > 解决方案 > SQLite `NOT IN` 参数是否有大小限制?

问题描述

我有一个 SQLite 数据库,我在其中执行类似的查询

  Select * from table where col_name NOT IN ('val1','val2')

基本上我从服务器获得了大量的值,我需要选择给定列表中不存在的值。

目前它工作正常,没有问题。但是随着服务器数据库的频繁更新,来自服务器的值的数量变得巨大。

所以,我可能会得到数千个字符串值,我需要将它们传递给NOT IN

我的问题是,它会在未来引起任何性能问题吗?NOT IN参数有大小限制吗?(比如您可以检查的最大 10000 个值)?

它会在某个时候导致任何崩溃吗?

标签: androidmysqlsqliteandroid-sqlite

解决方案


这是关于 sqlite 中各种限制的官方参考。我认为SQL 语句的最大长度可能与您的情况有关。默认值为 1000000,可调整。

除此之外,我认为NOT IN子句的参数数量不存在任何限制。


推荐阅读