一尘不染

每个数据库提供程序类型允许的最大参数数量是多少?

mysql

可以通过ADO.Net传递到Sql Server查询的参数限制为2,100,但是.Net开发人员使用的其他常见数据库的记录限制是什么-特别是我感兴趣的是:

  • 甲骨文10g / 11g
  • 的MySQL
  • PostgreSQL的
  • Sqlite

有人知道吗?


阅读 376

收藏
2020-05-17

共1个答案

一尘不染

甲骨文:64,000。资源

MySQL:

  • 默认情况下,没有限制。MySQL的“文本协议”要求在将命令文本发送到服务器之前,.NET客户端库替换所有参数。没有可以强制执行的服务器端限制,并且客户端没有限制(可用内存除外)。
  • 如果通过调用MySqlCommand.Prepare()(并IgnorePrepare=false在连接字符串中指定)使用“ prepared statement” ,则限制为65,535个参数(因为num_params必须容纳两个字节)。

PostgreSQL:编辑:根据Magnus Hagander的回答,查询为34464,函数为100(在此处复制答案以提供单个参考点)

SqlLite:999(SQLITE_MAX_VARIABLE_NUMBER,默认为999,但可以在运行时降低)-对于函数,默认值为100个参数。请参阅运行时限制文档的第9节

2020-05-17