主外键设计要点

实用技术 - 主外键

三大特点
  • 主键本身是一种索引;
  • 可以保证表中主键所在列的唯一性;
  • 可以有效地限制外键依赖的表的记录的完整性。
外键上的索引与性能

select A.ID,A.NAME,B.NAME
from T_P A,T_C B
where A.ID=B.FID and A.ID=880;
外键建索引后效率会明显提高

外键上的索引与锁的避免

外键索引对于表连接查询在性能上有很大提升,实际上,在外键上建索引还能有效避免锁的竞争

主外约束简单证明

外键所在表的外键列取值必须在主表中的主键列有记录。

级联删除操作很方便

其实操作的方法很简单,就是在原先增加外键的基础上增加ON DELETE CASCADE 的关键字即可。
alter table T_C drop constraint FK_T_C;
alter table T_C add constraint FK_T_C
foreign key (FID) references T_P (ID)
on delete cascade;
这个方法虽然简单,不过却要慎用,避免误删数据

改造为主键简便方法

建主键的动作其实就是建了一个唯一性索引,再增加一个约束。

create index idx_t_id on t(id);
alter table t add constraint t_id_pk primary key(ID);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值