数据库的一些常见问题

分布式数据库:

数据库应该常注意的点:
1、事务
2、主从同步
3、分库
4、分表
5、数据库恢复和备份
6、数据库复制
7、垂直拆分和水平拆分 (分库和分表)
垂直拆分: 根据业务,把不同业务的表,拆分到不同的数据库中。
水平拆分: 把同一个表中的数据,拆分到两个或者多个数据库中。多个数据库中的表结构是一模一样的,数据入库的时候会
对数据库进行选择而已。

SQL路由的问题:
数据的分页处理:

业务分库后问题来了:

事务:不同业务拆分到不同的数据库,那么需要考虑以前单机中跨业务的事务如何处理。
使用分布式事务:其性能要明显低于之前的单机事务,而另外一种方法就是去掉事务或者不追求强事务支持。

根据业务对库进行拆分后,以前单库中可以使用表关联查询的也就需要改变了。

设计表的时候应该考虑的方面:

1、主键
每个表中的唯一字段,作为查询某记录的标准。

2、外键
存在关联之间的表,必不可少的字段,创建外键,也可以在数据库层对插入的数据做判断,不允许插入的外键,在关联表中的主键中不存在。

3、唯一性约束
对表中的某个或者某些字段做唯一性约束,可以在数据库层避免重复数据的插入。

4、查询效率
创建索引,在查询的时候可以提升查询效率

5、父子表
表与表之间的关联,在关系型数据库中表不是独立存在的,很多时候表与表之间是存在关联性的。

6、字段的类型
表设计的时候,字段类型是一个很关键的考虑点。

7、长度
表中字段长度的设计,如果插入的数据长度过长,会导致入库失败。

8、默认项
可以设置默认项 default

9、是否设置为NULL
如果在定义表结构的时候,字段定位为NOT NULL,那么插入的数据中该字段一定不能为空,不然就插入不成功。

10、数据库引擎
在设计Mysql数据库的时候,不同的引擎,其特性是不一样的。

11、编码格式
数据库也有自己的编码格式,格式问题会影响是否出现乱码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值