1.性能影响 大型互联网项目或者分布式项目,进行更新操作时,会在影响数据库性能 2.热更新 如果数据库存在外键,会导致新更新上去的代码无法运行,可能产生冲突,需要重新启动项目 3.降低耦合度 删除外键是指物理上删除外键,但是逻辑上还是存在外键的,这样就降低了表与表之间的耦合度(举个例子:用户表与用户 ...
分类:
数据库 时间:
2019-12-26 09:17:13
阅读次数:
125
sql中的连接查询有inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同。例如我们有两张表: Orders表通过外键Id_P和Persons表进行关联。 1.inn ...
分类:
其他好文 时间:
2019-12-25 20:30:50
阅读次数:
63
在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行 事务用来管理insert,update,delete语句 一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Cons ...
分类:
数据库 时间:
2019-12-24 13:27:57
阅读次数:
88
SQL -> Multi Tables 主键:唯一、非空,经常用于JOIN的场景。一般设为auto_increment,用于唯一标示记录。 外键:主键对应到另外一张表的字段映射,外键的存在就是为了连接多个表。 内连接:JOIN就是INNER JOIN,一张动图胜过千言万语。 (外)左连接:合并所有记 ...
分类:
数据库 时间:
2019-12-21 22:52:31
阅读次数:
87
percona-toolkit中pt-online-schema-change工具安装和使用 pt-online-schema-change介绍 使用场景:在线修改大表结构 在数据库的维护中,总会涉及到生产环境上修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量 ...
分类:
其他好文 时间:
2019-12-21 18:37:53
阅读次数:
99
大数据量数据库操作和设计中的禁区在操作数据库的使用中,有很多禁区,这些禁区是我们想都不要想,碰都不要碰的,一旦做了这些事情,带来的后果绝对是灾难性的。 1、主外键主外键在小型应用,或者人数不多,可以控制的范围内绝对是可以使用的,但是一旦数据量大了起来,再使用外键约束会导致性能很差,一般互联网应想都不 ...
分类:
数据库 时间:
2019-12-20 22:36:10
阅读次数:
107
一、@OneToOne关系映射 JPA使用@OneToOne来标注一对一的关系。 实体 People :用户。 实体 Address:家庭住址。 People 和 Address 是一对一的关系。 这里用两种方式描述JPA的一对一关系。 一种是通过外键的方式(一个实体通过外键关联到另一个实体的主键) ...
分类:
其他好文 时间:
2019-12-20 16:51:26
阅读次数:
92
在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing 1 required positional argument: 'on_delete' on_delete有 ...
分类:
其他好文 时间:
2019-12-20 12:13:06
阅读次数:
97
一.数据库这块的准备需要创建五张表 数据库有用户(user)、角色(role)、权限(permission)三个实体,除了实体表以外,为了实现表间用户与角色、角色与权限多对多的表间关系,所以产生了user_role、role_permission两张关系表。在下图中,使用红线将表的外键标记了出来,但 ...
分类:
编程语言 时间:
2019-12-19 18:56:06
阅读次数:
89