JMP 的設計目的是為了程式、圖形和資料之間的互動。因此,JMP 將所有內容儲存在記憶體中。
文件的物理大小並不能真正反映儲存資料所需的 RAM 量。例如,假設您有一個僅包含 1 個數字欄位和 100 萬行的資料表。僅保存資料所需的 RAM 量可計算為 10 * 1,000,000 = 10,000,000 或 10MB。字元資料以每個字元儲存格的 n 個位元組計算,其中 n 是該列中最大字元值的長度。
要確定資料表的大小,經驗法則是:
- 所有數值將儲存在 4 個位元組(32 位元)中。
- 所有字元欄位都將是列中最長條目的長度。例如,如果大多數行是“是”和“否”(3 和2 位元組),但有一個條目是“可能”(5 位元組),則所有行都將具有用於5 位元組條目的空間。重新編碼資料可以幫助解決這種情況,例如使用數字或字母代碼以及使用“值標籤”表屬性。
- 每列和資料表本身都需要一些小的開銷。
另請注意,使用的每個資料表都在記憶體中,並且某些操作需要記憶體來操作。例如,記憶體中已有兩個大型資料表,然後嘗試合併或連接它們可能會產生一個新的組合表,該表可能會超出可用記憶體。另一種可能的情況是嘗試對幾乎填滿現有記憶體的資料表進行大型分析(迴歸或相關),從而沒有空間供分析完成工作。
[以前的 JMP 註 31493]