- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Jimmy Nilsson 讨论他的 COMB guid 概念 here 。这个概念在 NHibernate 和其他圈子中很流行,因为它比标准 GUID 的性能值(value)通常要随机得多。
但是,在测试中,情况似乎并非如此。我错过了什么吗?
测试用例:
我有一个名为 temp 的表(不是临时表,只是一个名为“temp”的表),其中包含 585,000 行。我有一个名为 Codes 的新表,并希望将临时表中的所有 585,000 个代码值复制到代码表中。我执行的测试SQL是:
set statistics time on;
truncate table codes;
DBCC DBREINDEX ('codes', '', 90);
insert into codes (codeid, codevalue)
select newid(), codevalue from temp
truncate table codes;
DBCC DBREINDEX ('codes', '', 90);
insert into codes (codeid, codevalue)
select CAST(CAST(NEWID() AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER), codevalue from temp
标准 GUID 值的性能:
SQL Server Execution Times: CPU time = 17250 ms, elapsed time = 15735 ms.
(585000 row(s) affected)
COMB GUID 值的性能:
SQL Server Execution Times: CPU time = 17500 ms, elapsed time = 16419 ms.
(585000 row(s) affected)
我错过了什么? COMB GUID 值导致时间稍长,可能是因为额外的转换。我认为重点是通过使用最后 6 个字节的日期对 GUIDS 进行半排序来减少插入时间,但性能增益似乎不存在。
最佳答案
我建议您看不到订单优势,因为目标表没有 PK。所以,这就是您看到的转换开销。如果它有 PK,则 585k 行仍必须在插入时排序。 SQL 如何知道它是半排序的?
现在,如果是 5,850 x 100 行插入,那么您可能会看到一些好处,因为新行将“在末尾”而不是“在中间”,从而减少页面拆分和开销。
我想更进一步说,这篇文章的日期是 2002 年,针对的是 SQL 2000,并且已经被现实生活所取代。
在 SQL Server 2005 中,我们有顺序 GUID,允许严格单调的 GUID 来解决某些问题。 GUID 作为 PK 也已在此处完成:最近的示例:INT vs Unique-Identifier for ID field in database带有第 3 方链接。
如果 ORM 将 GUID 指定为 PK,而不是自然键或标准的基于 int 的代理键,那么这是 ORM 的严重限制。还有一个客户端尾部摇数据库狗的情况。
关于sql - COMB 指南的性能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1155454/
有人可以解释为什么这不相等吗? import scipy import math sum(math.comb(250, i) for i in range(0, 251)) == sum(scipy.
Jimmy Nilsson 讨论他的 COMB guid 概念 here 。这个概念在 NHibernate 和其他圈子中很流行,因为它比标准 GUID 的性能值(value)通常要随机得多。 但是,
现在是否可以确定 scipy.misc.comb 确实比 ad-hoc 实现更快? 根据旧答案,Statistics: combinations in Python , 这个自制函数在计算组合时比 s
我想提取28_2820201112122420516_000000中的行键(这里是bcp_startSoc),列名(这里是64.0)和值(这里是$str),其中$str是HBase中的一行: # `m
有没有办法使用 CodeFirst 设计为新的 Entity Framework 4.1 中的对象实现 Guid COMB 身份策略?我认为设置 StoreGeneratePattern 会起作用,但
#ImportError: cannot import name 'comb' import scipy from scipy.misc import comb # Loading the vecto
有什么方法可以使用 CodeFirst 设计在新的 Entity Framework 4.1 中为对象实现 Guid COMB 身份策略?我认为设置 StoreGeneratedPattern 会起作
是否可以使用 guid.comb 策略通过使用 Nhibernate 的 Mysql Db 进行身份生成? 当我使用它时 mapping.Id(x => x.Id) .Colum
我正在完成一个项目欧拉问题,但是对于任何超过 40 的值,此函数都会返回无穷大。 from scipy.special import comb def B(x): product = 1
我正在尝试这样做: from sklearn.model_selection import train_test_split 并得到一个错误: In [31]: from sklearn.model_
我正在尝试修复我的 gulp-ccs-comb 任务,但出现此错误: MacBook-Pro:myProject remy$ gulp sass-comb [11:23:10] Using gulpf
我正在将数据库从 Microsoft SQL Server 迁移到 MySQL/MariaDB。在 MSSQL 上,数据库对所有主键使用 uniqueidentifier (GUID) 数据类型。 N
Perl 6 中的 comb 就像是 split 的补充。您不是选择从结果中排除的内容,而是选择包含的内容。是否有 Python 等价物,如果有,它是什么? 到目前为止,我对“Python comb”
scipy.special.binom 和 scipy.misc.comb 有什么区别? 在 ipython 中,我可以看到它们返回不同的类型并且具有不同的准确性。 scipy.special.bin
我正在尝试在 Sublime Text 3 中使用 CSS 和 Sass 文件找到我的完美工作流程。我需要的是: Sass 文件语法高亮显示 CSS Comb 在保存时按字母顺序排列属性 属性和值提示
我想在 pre-honeycomb 设备上设计 Action bar UI。在我谷歌之后,我得到了 ActionBarSherlock 库。我可以在不使用此 ActionbarSherlock 库的情
在android应用中,在android Manifest文件中给coreApp="true"有什么用? 为什么在 Honey Comb 之前不需要它? 它如何帮助提高性能? 最佳答案 添加仅启动“核
对于如何将 React Router 的 history.push('/route') 与 Redux 结合使用,我有点一头雾水。 换句话说,如果你用 Redux 的 mapDispatchToPro
我正在研究 Google Collab 中的特征选择和分类问题。我能够使用 numpy 版本 1.11.3 执行该程序。不幸的是,今天我在使用 numpy(1.13.3) 时遇到了一个错误,因为 sc
我在 PostgreSQL 8.4 中使用 Rails 3.1。让我们假设我想要/需要使用 GUID 主键。一个潜在的缺点是索引碎片。在 MS SQL 中,推荐的解决方案是使用特殊的顺序 GUID。一
我是一名优秀的程序员,十分优秀!