查看: 13771|回复: 13

【讨论】如果不做外键的话?主键跟唯一索引区别

[复制链接]
论坛徽章:
4
阿斯顿马丁
日期:2013-08-08 21:36:33优秀写手
日期:2014-03-12 06:00:132015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
发表于 2014-10-24 21:13 来自手机 | 显示全部楼层 |阅读模式
如果不被其他表引用的话?有必要创建主键吗?是否唯一索引能代替?主键跟唯一索引区别或者它们各自应用场景?
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-10-24 21:21 | 显示全部楼层
NULL能否存在

使用道具 举报

回复
论坛徽章:
4
阿斯顿马丁
日期:2013-08-08 21:36:33优秀写手
日期:2014-03-12 06:00:132015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
 楼主| 发表于 2014-10-24 21:24 来自手机 | 显示全部楼层
主键字段不能为空`唯一可以,好像优化器优先主键?主键是为了数据为完整。

使用道具 举报

回复
认证徽章
论坛徽章:
6
2014年世界杯参赛球队: 阿尔及利亚
日期:2014-07-24 11:05:12马上有钱
日期:2014-10-17 22:07:27复活蛋
日期:2014-12-01 15:10:24红孩儿
日期:2015-01-09 11:05:202015年新春福章
日期:2015-03-04 14:55:132015年新春福章
日期:2015-03-06 11:59:47
发表于 2014-10-24 22:46 | 显示全部楼层
如果列要求非空,就用主键,没有就可以建唯一索引

使用道具 举报

回复
论坛徽章:
540
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2014-10-24 23:53 | 显示全部楼层
不久前野花才说过吧?搜一下那个贴。

使用道具 举报

回复
认证徽章
论坛徽章:
0
发表于 2014-10-25 00:04 | 显示全部楼层
主键是聚集索引,而唯一索引是非聚集索引,类型不同

使用道具 举报

回复
论坛徽章:
540
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2014-10-25 00:16 | 显示全部楼层
fly灬丨飞扬 发表于 2014-10-25 00:04
主键是聚集索引,而唯一索引是非聚集索引,类型不同

主键用的索引就是唯一索引。ORACLE没有什么CLUSTERED INDEX的说法。

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
发表于 2014-10-25 14:28 | 显示全部楼层
主键就是主键,似乎没有什么充分的理由用unique index来替代

使用道具 举报

回复
认证徽章
论坛徽章:
285
生肖徽章2007版:虎
日期:2014-06-23 20:17:04生肖徽章2007版:虎
日期:2014-09-18 12:50:09生肖徽章2007版:虎
日期:2014-11-14 14:21:28生肖徽章2007版:虎
日期:2014-06-23 20:42:17生肖徽章2007版:虎
日期:2014-06-23 20:42:17秀才
日期:2017-04-06 13:42:06秀才
日期:2017-04-06 13:41:23秀才
日期:2017-03-28 15:59:38秀才
日期:2017-03-28 15:11:09红宝石
日期:2017-04-06 13:47:15
发表于 2014-10-25 22:36 来自手机 | 显示全部楼层
好像用ogg同步的时候,主键比唯一索引更快。

使用道具 举报

回复
论坛徽章:
540
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2014-10-25 22:40 | 显示全部楼层
hh7yx 发表于 2014-10-25 22:36
好像用ogg同步的时候,主键比唯一索引更快。

不可能吧?它本质上还是执行SQL来同步。
11G版本的OGG有个毛病,它会随便找一个唯一索引来定位修改记录,除非你每个表都配置一下并指定采用主键。用唯一索引的时候如果唯一键值被改了同步就经常出问题。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表