日期:2014-05-17  浏览次数:21086 次

能说说复合主键和自增主键的利弊吗?
能说说复合主键和自增主键的利弊吗?它们各用在什么场合

------解决方案--------------------
用Sequence来做主键,相比复合列做主键,有如下好处:
1.性能高
2.灵活性好
3.开发便捷
--------------------------
1.性能高是指多表连接时, 一个表的主键是多列的组合, 另一个表以此为外键, 那么这两个表做连接时的性能相比都以一个Number列来连接来说, 哪个的性能更好? Buffer Gets更低?

2.灵活性好是指当你用有意义的字段组合来表示主键时, 如果这些字段发生了变化, 对你的系统来说将是非常痛苦的事情, 比如用身份证号码来做主键, 那么身份证号码15位升18位, 那对你的系统来说将是一场灾难.

3.开发便捷是指,对于一个Table当你在代码中系统通过主键去定位一笔数据时, 你希望主键是单列的还是复列的? 如果是用in子句定位多笔呢?