各位大侠,我后端用mysql,前端用vuejs,有以下问题:
1.在设计字段是,比如文章类型有“国家法规”,“个人论文”等,我是应该在数据库中直接存储用1,2,3等数字代表呢,还是直接用“国家法规”的文字?在筛选的时候,效率上有区别么?
2.在前端vuejs中,我需要vif判断后显示不同的样式,那以下两种判断方式,一种是判断==1,还有一种是判断在10000和20000之间,这两种方式判断的效率上有多大区别?如果不大,我就不想再增加一个字段了。
各位大侠,我后端用mysql,前端用vuejs,有以下问题:
1.在设计字段是,比如文章类型有“国家法规”,“个人论文”等,我是应该在数据库中直接存储用1,2,3等数字代表呢,还是直接用“国家法规”的文字?在筛选的时候,效率上有区别么?
2.在前端vuejs中,我需要vif判断后显示不同的样式,那以下两种判断方式,一种是判断==1,还有一种是判断在10000和20000之间,这两种方式判断的效率上有多大区别?如果不大,我就不想再增加一个字段了。
文章和博客,如果文章只有一个分类,则文章和分类是多对一关系。
表结构可以这样建立:
键名 | 类型 | 属性 | 解释 |
---|---|---|---|
cid | int(10) | 主键,非负,自增 | post表主键 |
mid | int(9) | 非负,可为空 | 与项目主键对应 |
title | varchar(200) | 可为空 | 内容标题 |
slug | varchar(200) | 索引,可为空 | 内容缩略名 |
created | int(10) | 索引,非负,可为空 | 内容生成时的GMT unix时间戳 |
modified | int(10) | 非负,可为空 | 内容更改时的GMT unix时间戳 |
text | text | 可为空 | 内容文字 |
order | int(10) | 非负,可为空 | 排序 |
authorId | int(10) | 非负,可为空 | 内容所属用户id |
template | varchar(32) | 可为空 | 内容使用的模板 |
type | varchar(16) | 可为空 | 内容类别 |
status | varchar(16) | 可为空 | 内容状态 |
password | varchar(32) | 可为空 | 受保护内容,此字段对应内容保护密码 |
commentsNum | int(10) | 非负,可为空 | 内容所属评论数,冗余字段 |
allowComment | char(1) | 可为空 | 是否允许评论 |
allowPing | char(1) | 可为空 | 是否允许ping |
allowFeed | char(1) | 可为空 | 允许出现在聚合中 |
键名 | 类型 | 属性 | 解释 |
---|---|---|---|
mid | int(10) | 主键,非负 | 项目主键 |
name | varchar(200) | 可为空 | 名称 |
slug | varchar(200) | 索引,可为空 | 项目缩略名 |
type | varchar(32) | 可为空 | 项目类型 |
description | varchar(200) | 可为空 | 选项描述 |
count | int(10) | 非负,可为空 | 项目所属内容个数 |
order | int(10) | 非负,可为空 | 项目排序 |
文章和博客,如果文章有多个分类,则文章和分类是多对多关系。
表结构可以这样建立:
键名 | 类型 | 属性 | 解释 |
---|---|---|---|
cid | int(10) | 主键,非负,自增 | post表主键 |
title | varchar(200) | 可为空 | 内容标题 |
slug | varchar(200) | 索引,可为空 | 内容缩略名 |
created | int(10) | 索引,非负,可为空 | 内容生成时的GMT unix时间戳 |
modified | int(10) | 非负,可为空 | 内容更改时的GMT unix时间戳 |
text | text | 可为空 | 内容文字 |
order | int(10) | 非负,可为空 | 排序 |
authorId | int(10) | 非负,可为空 | 内容所属用户id |
template | varchar(32) | 可为空 | 内容使用的模板 |
type | varchar(16) | 可为空 | 内容类别 |
status | varchar(16) | 可为空 | 内容状态 |
password | varchar(32) | 可为空 | 受保护内容,此字段对应内容保护密码 |
commentsNum | int(10) | 非负,可为空 | 内容所属评论数,冗余字段 |
allowComment | char(1) | 可为空 | 是否允许评论 |
allowPing | char(1) | 可为空 | 是否允许ping |
allowFeed | char(1) | 可为空 | 允许出现在聚合中 |
键名 | 类型 | 属性 | 解释 |
---|---|---|---|
cid | int(10) | 主键,非负 | 内容主键 |
mid | int(10) | 主键,非负 | 项目主键 |
键名 | 类型 | 属性 | 解释 |
---|---|---|---|
mid | int(10) | 主键,非负 | 项目主键 |
name | varchar(200) | 可为空 | 名称 |
slug | varchar(200) | 索引,可为空 | 项目缩略名 |
type | varchar(32) | 可为空 | 项目类型 |
description | varchar(200) | 可为空 | 选项描述 |
count | int(10) | 非负,可为空 | 项目所属内容个数 |
order | int(10) | 非负,可为空 | 项目排序 |
具体可参见typecho的数据库表结构设计:
http://docs.typecho.org/datab...
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1、数据库设计一般选择解约为原则,多采用小的类型即使用类似 1、2、3 的形式,然后在字段注释中说明对应关系,这样更加有助于系统以后的拓展。从筛选效率来说并无区别,因为你作为条件时,都是属于常量值。
2、
==
的效率远高于范围比较