我对数据库设计有点新意,想知道我应该在表中存储什么,以及在文本字段中应该用标记语言存储什么,以后可以由服务器处理。我倾向于为基本上所有内容制作一个表格,但我注意到很多应用程序,比如说mediaWiki使用标记将数据存储在一个大文本字段中。这是否通过限制数据库查询量和表的大小来节省时间?或者服务器端处理会占用更多时间吗?
我的页面结构如下:
Page contains:
id
page_image_id
user_id
title
path
deleted
Page has many Sections
-
Section contains:
id
page_id
position
Section has many Paragraphs
Section has many Images
Section has many Page_Links
-
Paragraph contains:
id
section_id
body_text
position
-
Image contains:
id
section_id
user_id
image_path
description
position
-
Page_link contains:
id
page_id
section_id
description
position
我喜欢设计数据库,因为有可能达到10万多页。注意到,最后3个表可以非常快地变得非常大。将所有信息存储在节表中的标记然后使用服务器端代码处理信息会更有效吗?或者我低估了数据库查询的速度,因为那里的数据准备被操作会更有效率?我是否应该停止制作表并使用标记?
答案 0 :(得分:1)
所以在这种情况下,没有正确或错误的答案。
通常你需要考虑的是你正在制作多少个连接 - 你应该索引的颜色是什么等等。
我通常ndo采用标准化的方式,(你已经完成),运行某种分析以查看查询是否可接受的快速或慢 - 然后考虑改变你的设计。
索引通常会使数据库查询非常快。但是,您最终加入查询的表越多,它就越慢。这些只是广泛的指导方针。
答案 1 :(得分:1)
整个问题归结为:数据管理视角中的原子是什么?
换句话说,您是否需要在数据库中查询或修改单个段落或其他页面元素?