2014-01-17 74 views
0

我想檢查一下我是否打算使用「erlang record」存儲能力作爲無模式存儲,會對我產生怎樣的性能影響。關於以無模式方式組織數據的建議

更清晰:

我需要有表:人,年齡,性別,{其他屬性,婚姻狀況,childeren數....} 關於人的有關信息可能會具有不同的屬性。例如:如果婚姻狀況未婚,我就不會有兒童的屬性號碼供相對人使用。

表人員應該有不同數量的coloumns。因爲Mnesia是基於模式的,所以想要像下面這樣的表:

人,年齡,性別,屬性是[鍵值對性能]列表的屬性。 擁有這樣的模式是否好主意?

什麼樣的查詢優化可以用於查詢,如: 獲取「Number of children = 2」的所有人。

將查詢響應時間影響與表中的記錄數和每個屬性列表中的屬性數成線性關係?

回答

0

Mnesia可能不適合你想要做的事情。原則上,列/記錄字段是固定的。在描述中包含額外屬性的鍵值列表通常是可行的,但這意味着您無法在這些額外字段上進行有效查詢:每個查詢需要遍歷整個表格,複製每條記錄並檢查它是否符合條件。

查詢響應時間影響與表中的記錄數和每個屬性列表中的屬性數成線性關係?

是。