2016-04-27 614 views
2

当通过INSERT INTO tbl VALUES (...), (...), ...;插入行时,我可以使用的最大值是多少?可以放入PostgreSQL INSERT语句中的VALUES的最大数量是多少?

为了澄清,PostgreSQL支持使用VALUES一次插入多行。我的问题不是我可以插入多少列,而是可以将多少列的列插入到单个VALUES子句中。有问题的表格只有~10列。

我可以使用这种格式一次插入100K行吗?

如果有问题,我正在使用SQLAlchemy Core/psycopg2进行汇编。

+2

这可能受限于查询字符串的最大长度。我不认为对行数有先验限制。 –

+0

任何想法的查询字符串的长度?我通过TCP访问数据库。 –

+0

。 。我还没有找到具体的参考。至少16兆字节似乎可行 - 但我不知道Python和中间层是否也支持这一长度。 –

回答

4

正如Gordon所指出的那样,您的语句中可能存在的值集的数量似乎没有预定义的限制。但是您希望将此限制在合理范围内,以避免在客户端和服务器上消耗太多内存。客户端只需要构建字符串,服务器也需要解析它。

如果你想快速插入大量的行COPY FROM是你在找什么。

相关问题