有效地随机化(洗牌)Sql Server 表中的数据

2024-01-08

我有一个表格,其中包含必须随机化的数据。通过随机化,我的意思是使用随机行中的数据来更新同一列中的另一行。问题是表本身很大(超过 2 000 000 行)。

我写了一段使用 while 循环的代码,但是速度很慢。

有人对实现随机化的更有效方法有什么建议吗?


为了更新行,更新将需要大量的处理时间(CPU + I/O)。

您是否测量过随机化行与执行更新的相对费用?

您需要做的就是选择随机行,这是一种选择随机行样本的有效方法(在本例中为 1% 的行)

SELECT * FROM myTable
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), pkID) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)

where pkID是您的主键列。

这篇文章可能会让人感兴趣:

  • 随机化数据 http://web.archive.org/web/20130122041626/http://msmvps.com/blogs/robfarley/archive/2009/12/07/randomising-data.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有效地随机化(洗牌)Sql Server 表中的数据 的相关文章

随机推荐

  • # 登录 CSS 选择器

    一些 CSS 选择器有 在他们面前 这意味着什么 它是 ID 选择器 CSS 标准的基本功能 它根据给定的 ID 匹配 HTML 元素id属性 当然 假设有一个合格的文档 看W3C 选择器规范 http www w3 org TR sele
  • iframe 可以在 WKWebView 中与 Cordova 一起使用吗?

    根据 Apache Cordova 博客 iframe 可能无法使用 WKWebView https cordova apache org news 2018 08 01 future cordova ios webview html ht
  • 将 javascript 代码段附加到 body 标记的末尾

    我正在寻找一种将 javascript 代码块插入到 ASP NET 页面末尾的方法 Page ClientScript RegisterClientScriptBlock typeof Page showVideo sScript tru
  • 使用 HQL 选择集合

    我有以下课程 人 java class Person String name Set
  • 与变量的抽象矩阵乘法

    我知道 python 进行矩阵乘法的能力 不幸的是我不知道如何抽象地做到这一点 所以不与 确定的数字 但带有变量 Example M 1 0 1 d a c 0 1 有没有办法定义a c和d 以便矩阵乘法 给我 1 d a a d c Us
  • 折叠过渡不适用于 Angular 的 UI Bootstrap

    我正在尝试创建一个 div 当单击按钮时它将显示 隐藏 这UI 引导页面 https angular ui github io bootstrap 显示了一个使用 css 过渡的简单示例 这是我的fiddle https jsfiddle
  • 如何反编译在 VS.net 中创建的 .dll 文件

    我需要反编译在 VS net 中创建的 dll 文件 有没有可用的工具来执行此操作 或者我可以有一些代码来做到这一点吗 请帮忙 编辑2 我现在使用来自 Jetbrains 的 DotPeek https www jetbrains com
  • [-f:未找到命令,Bash 脚本文件确实存在[重复]

    这个问题在这里已经有答案了 我正在尝试编写的脚本遇到问题 缩小并简化了代码 它给出了未找到命令的错误 如果我在命令行中执行 test f file 它不会返回任何内容 而不是找不到命令 PATH 1 bin bash DIR 1 if f
  • 在 Tomcat 7 中使用智能卡和 LDAP 对用户进行身份验证

    我有一个在 Tomcat 7 上运行的 Web 应用程序 它配置了自定义 JNDIRealm 并且 web xml 中的登录配置身份验证方法设置为 FORM 我正在尝试找到一种方法来添加通过同一 LDAP 使用智能卡 如果有 对用户进行身份
  • $.getScript 中未定义函数

    这个一定很简单 外部 javascript 文件包含 function Hello alert Hello It is getScript ed 然后调用一个包含的函数 I get ReferenceError Hello 未定义 但是如果
  • 返回 404 错误的 Apache 自定义 404 页面

    我的 apache 404 php 上有一个自定义 404 错误页面 它可以正常工作 但是如果有人或任何搜索引擎请求 404 php页面 服务器返回200 OK 因为该页面确实存在 我已经把Disallow 404 php on my ro
  • 为什么要在自定义计算表达式生成器中使用 Builder.Source()?

    阅读通过F 4 0 规范 http fsharp org specs language spec 我在PDF第79页看到以下内容 辅助功能src e 表示b Source e 如果最里面的 ForEach 来自用户代码而不是由翻译生成 并且
  • 为什么非常量引用不能绑定到临时对象?

    为什么不允许获取对临时对象的非常量引用 哪个函数getx 回报 显然 这是 C 标准所禁止的 但我对这种限制的目的感兴趣 不是参考达到标准 struct X X ref return this X getx return X void g
  • 使用 .Rmd 文件中的knitr 有条件地评估航向

    是否可以有条件地评估代码块and使用 R Markdown 的相关标题和knitr 例如 如果eval cell is TRUE包括块and它的标题 但不包括 ifeval cell is FALSE r eval cell TRUE He
  • 从视频重建 3D 轨迹(由单个摄像机拍摄)

    我目前正在尝试根据 iPhone 视频中拍摄的一系列图像重建球或岩石等下落物体的 3D 轨迹 我应该从哪里开始寻找 我知道我必须校准相机 我想我会使用 Jean Yves Bouguet 的 matlab 校准工具箱 然后从相同的序列中找到
  • 使用Websocket和Pusher显示连接用户登录状态

    我第一次使用 Pusher 构建聊天室 Web 应用程序 我阅读了很多 Pusher 的文档来了解它是如何工作的 我的问题更多是关于机制而不是代码 所以我想做的是 当用户连接并加入presence channel这使我可以显示谁在线 我想为
  • 管道输出用作 Linux 上 grep 的搜索规范

    如何通过管道将 grep 的输出作为另一个 grep 的搜索模式 举个例子 grep
  • 如何将提交从一个分支复制到另一个分支

    我正在开发两个功能 共享 提交 A B C Feat1 共享 提交 D E F Feat2 问题是 为了测试 Feat2 我确实也需要 Feat1 但我仍然希望它们作为单独的分支 因为它们是不同的 有什么好方法可以对 Feat2 进行更改
  • 如何在 SQL Server 2008 中检索删除的存储过程、函数、表

    我验证了下面的链接 因为有人 Oliver 作为我的问题的重复项发布了 但此查询返回最后执行的脚本 这与我的问题无关 最后执行的特定数据库查询 https stackoverflow com questions 13638435 last
  • 有效地随机化(洗牌)Sql Server 表中的数据

    我有一个表格 其中包含必须随机化的数据 通过随机化 我的意思是使用随机行中的数据来更新同一列中的另一行 问题是表本身很大 超过 2 000 000 行 我写了一段使用 while 循环的代码 但是速度很慢 有人对实现随机化的更有效方法有什么