首先让我描述我的情况:获取大量数据的最佳途径
我需要存储每个用户的大约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个数据的数据?