2016-04-27 40 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是你在找什麼。

相關問題