首先讓我描述我的情況:獲取大量數據的最佳途徑
我需要存儲每個用戶的大約200個附加細節。我正在使用wordpress。現在有一個默認功能來保存與用戶關聯的數據。但我不知道我應該使用什麼。在我的情況下,我將需要在1頁的一些數據。例如,我需要一頁中的20個數據和另一個頁面中的100個數據。用戶可能一次需要20個數據,或者一次需要100個數據。
我沒有設計我的數據庫表。瞭解了我設計它的最佳查詢方式之後。要獲得200個數據(字段)的用戶如果可以做200搜索查詢,那麼我會用戶wordpress默認元表。結構如下。
----------------------------------------------
| umeta_id | user_id | meta_key | meta_value |
----------------------------------------------
從上面的結構中你可以看到wordpress將單個用戶的每個數據保存爲一行。所以在這種情況下,一個用戶的200個數據wordpress會節省200行。爲了檢索數據,我必須做200個查詢。
現在,如果最好通過單個查詢獲取用戶的所有數據並將其保存在會話中,那麼我將創建自己的表。結構如下。
---------------------------------------------------------------
| User_ID | User_detail_1 | User_detail_2 | User_detail_3 | ...
---------------------------------------------------------------
在上述結構中可以保存在一排所有的200個數據,並可以得到所有在一個查詢,然後在需要的地方,當保存到會話和用戶。
現在在我的網站我不需要在一個頁面中的所有數據。在一頁上,我可能需要100個數據,而在另一個頁面中,我可能需要50個數據。所以考慮我的情況,我應該保存每行數據爲一行(使用wordpress元表),然後做100個查詢頁面,我需要100個數據,並做50個查詢,我需要50個數據?
或者我應該使用一個查詢並獲取所有數據,保存在SESSION中,然後使用SESSION中需要50或100個數據的數據?