首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在大表上选择一个或多个带有WHERE条件的随机SQL行

在大表上选择一个或多个带有WHERE条件的随机SQL行
EN

Stack Overflow用户
提问于 2014-11-12 23:34:47
回答 1查看 150关注 0票数 0

我读过http://explainextended.com/2009/03/01/selecting-random-rows/,它也被建议作为对other questions关于从大表中选择随机行的回答。

但是,我现在想知道如何将此技术与仅选择另一个字段设置为特定值的行相结合。

在我的例子中,我尝试构建一个马尔可夫链。我的表有一个id列,它是自动增量主索引。它还有一个snippet列,该列存储要添加的字符串的新部分,但前提是prev_snippet列是正确的。

这意味着我希望从表中选择一个随机行,该行的prev_snippet也设置为我已经拥有的某个字符串。我怎样才能高效地做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 22:01:22

所以,是的,如果你不关心真正的随机,那么链接帖子中的想法可能是相当好的。只要在prev_snippet列上建立索引即可!

但因为它仍然完全独立地使用随机数,所以即使有一行,你也可能在结果中得不到任何行。也就是说,每次过滤器运行时,它总是会排除。

franky,我会试着使用ORDER BY RAND() LIMIT 1,它可能会工作得很好。最重要的是结果集的大小,而不是初始表的大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26890688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档