使用 LINQ 从大型结果集中高效选择随机行(ala TABLESAMPLE)

2023-12-29

我想从一个非常大的表(数百万行)上的复杂查询的结果中选择一些随机行。

我正在使用 SQL Server 2008,有效地执行此操作的正确方法似乎是表格示例 http://technet.microsoft.com/en-us/library/ms189108.aspx clause.

注 1:我对流行的“order by NEWID()”解决方案不感兴趣 - 它对于大型表来说效率低下。

注 2:由于我的查询很复杂,如果可能的话,我不想首先计算它的 COUNT。

注3:由于结果集很大,我不想自己遍历它,如建议的那样here https://stackoverflow.com/questions/648196/random-row-from-linq-to-sql/648240#648240.

最重要的是我正在使用 LINQ。具体来说,就是 LINQ-To-Entities。

是否有一种 LINQ 友好的方式来使用 TABLESAMPLE?

即使没有直接支持,是否有某种方法可以在 LINQ 中编写大部分查询,然后执行少量手动 SQL 来执行 TABLESAMPLE?


不是您问题的直接答案,但您可以使用此技术来选择各个行的随机百分比样本。以下查询使用 NEWID 函数返回 Sales.SalesOrderDetail 表中大约百分之一的行:

SELECT * FROM Sales.SalesOrderDetail   
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), SalesOrderID) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)

可能感兴趣:T-SQL:生成随机数、随机采样和随机“善良” http://mitch-wheat.blogspot.com/2011/08/t-sql-generating-random-numbers-random.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LINQ 从大型结果集中高效选择随机行(ala TABLESAMPLE) 的相关文章

随机推荐

  • 找不到类“App\Http\Controllers\Auth\Registered”

    我在互联网上搜索了有关此问题的信息 并按照说明进行操作 我看到的每个网站 但我遇到了此错误 Class App Http Controllers Auth Registered not found 的问题 我的控制器中是否缺少代码 我该如何
  • 为什么在 FireFox 中单击按钮时文件打开对话框会打开两次

    我有一个file
  • CoreAnalytics::Client / FrameworkConfiguration::init 内神秘崩溃

    我遇到了奇怪的崩溃 事实证明很难调试 我可以在启动应用程序后立即随意触发它 只需按下并释放 Command 键几次即可 不需要与我的应用程序进行其他交互 不用说 当命令键更改状态时 我的应用程序不会执行任何操作 实际上 其他按键也会引发崩溃
  • Quartz.NET Scheduler.Interrupt(jobKey) 正在中断所有活动作业

    该方法是否应该只中断 jobKey 定义的作业 我已经运行了一些测试 它似乎中断了当前正在运行的所有活动作业 我正在使用 Restful Web api 连接到远程调度程序以创建 中断 删除作业 API服务代码 public void De
  • 保护弹性搜索

    我对 Elasticsearch 完全陌生 但我非常喜欢它 我唯一找不到也无法完成的事情是确保生产系统的 Elasticsearch 安全 我在elasticsearch前面读到了很多关于使用nginx作为代理的内容 但我从未使用过ngin
  • 如何使用 Pagecontainer Widget 将对象发送到另一个不同的页面?

    假设我的项目中或多或少有这些文件 A页 html PageA js 页面 html PageB js 我想将页面从 PageS html 更改为 Page html 然后 我用了页面容器小部件 https api jquerymobile
  • 在 R 中绘制预测的自定义轴标签

    我正在尝试在预测上添加一些合理的标签 这是我的代码 library forecast t lt ts c 4410 0 6435 0 4939 0 6487 0 25521 0 18764 0 12223 0 18590 0 36898 0
  • C# 函数返回两个值[重复]

    这个问题在这里已经有答案了 我想要一个函数 在其中输入一个数组 因此我需要另一个数组和一个整数值 这可能吗 Example private int FunctionName int InputArray some function made
  • 如何在单击时清除 EditText?

    在Android中我怎样才能制作一个EditText单击时清除 例如 如果我有一个EditText中的一些字符 例如 Enter Name 当用户单击它时 这些字符就会消失 我不确定你是否在想这个 但试试这个 XML android hin
  • Azure Function App 不由事件中心触发

    大家好 我编写了 Python 函数来处理传入 EventHub 的 JSON 事件 这些事件是由 Debezium 生成的 这部分工作正常 从 Visual Studio Code 本地执行时 我的 python 代码也运行良好 当我部署
  • 如何用 hamlet 打印逗号分隔的列表?

    使用 yesod 附带的 hamlet 模板语言 打印逗号分隔列表的最佳方法是什么 例如 假设此代码仅打印一个又一个条目 如何在元素之间插入逗号 或者甚至可以在最后一个条目之前添加一个 and The values in the list
  • 有什么理由将 .snk 文件与项目源一起发送?

    我时不时地在网络上看到一个示例项目 其中包含一个 snk 文件 用于使用强名称对编译结果进行签名 AFAIK 这是完全错误的 https stackoverflow com questions 798621 do i need to pub
  • 使用 data.table 子集来实现不相等

    我有一个包含 400k 行的数据表 我正在进行子集化 但速度非常慢 这是一个示例数据框 date name value size car1 car2 1 2015 01 01 07 44 00 bob 1 5 A D 2 2015 02 0
  • ASP.NET MVC 报告

    我正在寻找 ASP NET MVC 的报告解决方案 I need 参数支持渲染为 HTML 导出到 Excel 免费 价格合理 有什么建议吗 关于人的讨论正在进行中在 ASP NET MVC 中使用 ActiveReports 解决堆栈溢出
  • 如何在固定尺寸外部 div 中包含的内部 div 上获得垂直滚动条?

    我正在寻找一种 HTML CSS 解决方案 其中内部 DIV 具有以下特征 一定有 包含在可变高度同级标题 div 下方的固定高度容器 div 中 填充可用的可变高度 没有 max height CSS 属性 如果需要容纳内容 则垂直滚动
  • 从设置活动向 WallpaperService 发送消息时需要 BIND_WALLPAPER 权限

    我一直在尝试找到一种方法从设置活动将消息传递到我的壁纸服务 在设置中我这样做 Context context getApplicationContext Intent i new Intent context RainWallpaper c
  • 缩小 SliverAppBar 图像动画,如 Flutter 中的标题文本

    我正在尝试复制带有图像的 SliverAppBar 自然附带的文本收缩效果 以便 sliverhead 的背景图像收缩为 sliverAppBar 的应用栏中的前导图标 我尝试使用 AnimatedPostioned flutter 小部件
  • 从 DrRacket 读取命令行参数

    当使用球拍运行脚本时 如何检测给出的命令行参数 也就是说 相当于 Python 中的 sys argv Java 中的 args 等 您有以下选择 您可以在文档中查找所有选项以获取更多信息 current command line argu
  • NHibernate 的优点和缺点

    使用 NHibernate 的优点 缺点是什么 应该 和不应该 使用 NHibernate 构建什么样的应用程序 既然别人都说了优点我就只说缺点吧 缺点 由于元数据准备而增加了启动时间 不适合桌面类应用程序 没有orm背景的巨大学习曲线 微
  • 使用 LINQ 从大型结果集中高效选择随机行(ala TABLESAMPLE)

    我想从一个非常大的表 数百万行 上的复杂查询的结果中选择一些随机行 我正在使用 SQL Server 2008 有效地执行此操作的正确方法似乎是表格示例 http technet microsoft com en us library ms