Postgresql

‘internallength’ 在 Postgres 的自定義類型定義中總是有用嗎?

  • September 19, 2014

在我們的數據庫中,我們使用自定義類型來儲存 3D 位置:

CREATE TYPE float3d AS (
 x real,
 y real,
 z real);

在許多範例中,我看到INTERNALLENGTH用作自定義類型定義的參數。此外,文件告訴我“

$$ t $$如果省略此參數,他的預設假設是它是可變長度的”。對於像上面可以計算大小的類型(3 * 4 字節 + 4 字節填充),這也是如此嗎?所以我應該添加 16 作為定義的內部長度? 此外,是否還有其他參數可以提高使用這種類型處理許多(~10,000,000)條目的性能?

該參數INTERNALLENGTH只適用於創建新的基本類型,對於高級使用者來說是比較專業的操作。它需要提供輸入和輸出功能等。

您顯示的是創建一個新的複合類型,這是一個更常見的操作。沒有INTERNALLENGTH用於該目的的參數。再次閱讀手冊。

為了優化磁碟空間和性能,我寧願避免使用複合類型,因為行成本很大。細節取決於您的要求的細節。

引用自:https://dba.stackexchange.com/questions/72754