从大型 mysql 表中选择随机行的快速方法是什么?
我正在使用 php 工作,但我对任何解决方案都感兴趣,即使它是另一种语言。
获取所有 id,从中随机选择一个,然后检索整行。
如果您知道 id 是连续的且没有漏洞,则可以获取最大值并计算随机 id。
如果到处都有漏洞,但主要是顺序值,并且您不关心稍微倾斜的随机性,请获取最大值,计算 id,然后选择 id 等于或大于您计算的值的第一行。倾斜的原因是,跟随此类洞的 id 比跟随另一个 id 的洞有更高的机会被选中。
如果你随机订购,你的手上将会有一次可怕的桌子扫描,并且这个词quick不适用于这样的解决方案。
不要这样做,也不应该通过 GUID 订购,它也有同样的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)