在设计表结构的时候,主键可以是单个字段,也可以是联合字段,对于数据库来说,但个字段与联合字段会不会影响数据库的性能,我个人认为是会影响的。但实际上,联合字段又是不能够避免的,即使在一张表中设计一个id作为主键,对于联合字段也可能是唯一键,我认为主键和唯一键在这个问题上是一样的。请大家讨论、指点。感谢大家。

解决方案 »

  1.   

    那么你认为我说的是对的了?我只是觉得会降低性能,但是不是的确如此,以及会影响到什么程度,我想你可能也不知道。
    在表的设计当中,有这种情况:一个表可能存在多个唯一键,除了要设计一个主键之外,其他的唯一键是否要设计,如果了解了对性能的影响,我们就可以做决定,如果影像的过大,那么我们就可以做一些取舍。刚才看了一篇文章,关于索引对性能的影响,我觉得对这个问题是很有帮助的!
    http://blog.csdn.net/octverve/archive/2008/01/11/2037046.aspx
      

  2.   

    这个开销我觉得不能归结为单字段和多字段的区别。
    因为在比较的时候,实际上就是键的比较,一个字段如果很长,也不见得就比联合主键的比较快。
    当然这只是我的猜测,没有经过试验。只是自己的判断而已。
    数据库的每一个动作都会有系统开销,有的占用CPU时间多,有的I/O大,有的则大量占用内存,
    这些都会影响系统性能。细微之间的差别很难将谁的性能会比谁的性能好,
    只能具体问题具体分析,而不能产生一个放之四海而皆准的简单判则。
    另外就如“斯年”所说,性能是多方面的,不能因为一个主键而忽视了全局。