相关疑难解决方法(0)

你觉得你的主键怎么样?

在我的团队的一个相当生气勃勃的讨论中,我被认为是大多数人喜欢的主键.我们有以下小组 -

  1. Int/BigInt哪个自动增量是足够好的主键.
  2. 应该至少有3列构成主键.
  3. Id,GUID和人类可读行标识符都应该区别对待.

什么是PK的最佳方法?如果你可以证明你的意见,这将是很棒的.上面有没有更好的方法?

编辑:任何人都有一个简单的样本/算法来生成可扩展的行的人类可读标识符?

algorithm ddl database-design primary-key relational-database

85
推荐指数
11
解决办法
2万
查看次数

GUID与INT IDENTITY

可能重复:
您如何看待主键?

我知道使用GUID的好处,以及在数据库中使用和INT作为PK的好处.考虑到GUID本质上是128位INT而普通INT是32位,INT是节省空间(尽管在大多数现代系统中这一点通常没有实际意义).

最后,在什么情况下你会发现自己使用INT作为PK而不是GUID?

database guid primary-key

31
推荐指数
8
解决办法
4万
查看次数

过早优化的实用规则

似乎" 过早优化 " 这个短语是当时的热门话题.出于某种原因,特别是iphone程序员似乎认为避免过早优化是一个积极的目标,而不是简单地避免分心的自然结果.问题是,该术语开始越来越多地应用于完全不合适的案例.

例如,我看到越来越多的人说不要担心算法的复杂性,因为那是不成熟的优化(例如,帮助在两个属性(使用NSSortDescriptor?)中排序NSArray).坦率地说,我认为这只是懒惰,并且对纪律严明的计算机科学感到骇人听闻.

但是我想到,可能考虑到算法的复杂性和性能正在推动汇编循环展开的方式,以及其他现在认为不必要的优化技术.

你怎么看?我们现在处于决定O(n ^ n)和O(n!)复杂度算法无关的地步吗?那么O(n)vs O(n*n)呢?

您认为"过早优化"是什么?您有意或无意地避免使用哪些实用规则?

编辑

我知道我的描述有点笼统,但我对人们用来避免"预成熟优化"的具体,实用规则或最佳实践感兴趣,尤其是在iphone平台上.

回答这个问题需要您首先回答"什么是预成熟优化?"的问题.由于该定义明显变化很大,任何有意义的答案都要求作者定​​义该术语.这就是为什么我不认为这是一个CW问题.再说一次,如果人们不同意,我会改变它.

iphone algorithm design-patterns

25
推荐指数
4
解决办法
1431
查看次数