我正在做一些PHP/MySQL的工作,並開始想知道什麼會更有效,什麼方法會有更好的數據完整性。保存ID在另一個表或在一個字段中的數組中的記錄
我從來沒有使用方法#2,但我已經看到它用於像CMS或電子商務系統。我經常使用#1。
示例:在我的系統中創建「任務」時,我需要爲其分配1個或多個用戶。
方法#1 在該方法我將具有這將同時存儲TASK_ID和USER_ID的表。我會查詢此表以獲得關係。
方法#2 在該方法我會在「users_assigned」的任務表中的列此將存儲的序列化陣列,其當我需要我會解序列化。例如
$data = array('John', 'Jack', 'Jill');
// after serialization it would look like...
// a:3:{i:0;s:4:"John";i:1;s:4:"Jack";i:2;s:4:"Jill";}
什麼方法最適合存儲在數據庫中這種類型的數據?
謝謝我同意,但我只是想看看我是否失去了什麼。我一直想知道爲什麼人們使用方法#2 ... – Mediabeastnz
希望我知道。有人設計了這樣一個系統的一部分,這使得它成爲尋找數據的噩夢。 – Kickstart
@Kickstart我同意,使用這些數據可能是一個真正的痛苦。由於您無法控制數據庫中的數據完整性,因此您必須在應用程序中執行此操作。如果它不存在,你會遇到一些麻煩。 – vvondra