创建CMS,我有一个“设置”表,我在其中存储了许多CMS设置。如网站名称,网址等。
我已经看到每个行是一个设置(垂直)
我也看到了每个列是一个设置(水平)
您认为 CORRECT 方法是什么?
垂直:
+----------------------+
+id | name | value +
+----------------------+
+0 | site | (url) +
+1 | comments | 0 +
+----------------------+
水平:
+---------------------------------------------+
+id | site | comments | title | etc +
+---------------------------------------------+
+0 | (url) | 0 |YourSite | etc +
+---------------------------------------------+
答案 0 :(得分:0)
我会将所有设置存储在一行中。如果您将来需要(例如,本地化),这为其他“网站”留出了空间。我还要确保cached these settings。
答案 1 :(得分:0)
我个人会使用垂直方式来执行此操作,因为它不会限制您使用当前具有列的设置。您可以稍后添加所需的数量。使用水平方法,您必须为每个设置添加新列。
Knossos关于缓存的说法是正确的,请确保尽可能缓存设置。 这些表格在每个综合浏览量和成本数据库性能上都会被读取,而不应该这样。 Memcached是一个非常好的建议,但如果你只有一个网络服务器,你也可以使用APC。
答案 2 :(得分:0)
我的自我,如果你在一个网站上使用这个只使用你所显示的垂直,如果你认为以后相同的CMS可能用于多个网站使用垂直但添加一个site_id列,即使现在它的默认值为1,所有设置再次使用它,但请确保您启用了一些缓存系统