可以放入PostgreSQL INSERT语句中的VALUES的最大数量是多少?
问题描述:
当通过INSERT INTO tbl VALUES (...), (...), ...;
插入行时,我可以使用的最大值是多少?可以放入PostgreSQL INSERT语句中的VALUES的最大数量是多少?
为了澄清,PostgreSQL支持使用VALUES
一次插入多行。我的问题不是我可以插入多少列,而是可以将多少列的列插入到单个VALUES
子句中。有问题的表格只有~10列。
我可以使用这种格式一次插入100K行吗?
如果有问题,我正在使用SQLAlchemy Core/psycopg2
进行汇编。
答
正如Gordon所指出的那样,您的语句中可能存在的值集的数量似乎没有预定义的限制。但是您希望将此限制在合理范围内,以避免在客户端和服务器上消耗太多内存。客户端只需要构建字符串,服务器也需要解析它。
如果你想快速插入大量的行COPY FROM
是你在找什么。
这可能受限于查询字符串的最大长度。我不认为对行数有先验限制。 –
任何想法的查询字符串的长度?我通过TCP访问数据库。 –
。 。我还没有找到具体的参考。至少16兆字节似乎可行 - 但我不知道Python和中间层是否也支持这一长度。 –