首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多种类型posts表的数据库设置

问多种类型posts表的数据库设置
EN

Database Administration用户
提问于 2016-05-18 06:40:53
回答 1查看 81关注 0票数 1

如何设置它以提高速度和可伸缩性是非常困难的。

基本上,我有一堆帖子,取决于它的类型,它可能有不同的输入值,我需要存储。因此,我想的是将公共值一起存储在一个“post”表中,并将Type特定值存储在单独的Type特定表中.这是可伸缩的吗?尤其是当我想拉所有帖子的时候?

我的想法如下:

表:

代码语言:javascript
复制
posts:
id, type_id, commonValue1(varChar), commonValue2(int), commonValue3(boolean), commonValue4(boolean)

Type1:
id, post_id, Type1SpecValue1(varChar), Type1SpecValue2(int), Type1SpecValue3(boolean)

Type2:
id, post_id, Type2SpecValue1(int), Type2SpecValue2(varChar)

Type3:
id, post_id, Type3SpecValue1(varChar), Type3SpecValue2(int), Type3SpecValue3(int), Type3SpecValue4(boolean), Type3SpecValue5(varChar)

这显然会随着时间的推移而扩大,我会增加更多的类型.有什么想法吗?另一个想法是,我只需创建包含所有值(甚至是公共值)的不同类型表,然后就有一个posts表,以便在需要提取多个类型时使用?关于如何设置这件事的想法?

-最新消息

为了澄清这些特定的值,可以是int、varchar等等,否则,我会用items表做很多事情,但我不认为这将适用于不同的字段类型。

EN

回答 1

Database Administration用户

发布于 2016-05-18 08:11:05

您可能需要考虑在posts表中使用一个JSON字段来将所有复杂的细节存储在JSON对象中。您可以拥有任意数量的数据,包括数组和嵌套对象。

此时,MySQL并不擅长索引和访问/操作JSON数据,但它确实提供了几个函数,如JSON_OBJECT、JSON_ARRAY、JSON_SET、JSON_INSERT、JSON_REMOVE、JSON_REPLACE、JSON_MERGE和JSON_EXTRACT,而且将来的版本肯定会得到更大的支持,例如索引。

MariaDB也有动态柱体,也有比MySQL更好(可能更好)的对JSON数据的支持。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/138838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档