当我有条件时,使用Linq to SQL检索随机行的最佳(和最快)方法是什么,例如某些字段必须为true?
读完这个问题后,我开始怀疑:是否有可能有一个不改变或复制原始列表的改组算法?
说清楚:
想象一下,您将获得一个对象列表.列表大小可以是任意的,但假设它非常大(例如,10,000,000个项目).您需要以随机顺序打印列表中的项目,并且需要尽快完成.但是,你不应该:
这可能吗?
补充:更多澄清.
添加2:好的,让我们这样说吧:你有一个装有数据项的1TB硬盘,每个512字节大(一个扇区).您希望将所有这些数据复制到另一个1TB HDD,同时洗牌所有项目.您希望尽快完成此操作(单次传递数据等).您有512MB的RAM可用,并且不依赖于交换.(这是一个理论场景,我在实践中没有这样的东西.我只是想找到完美的algorithm.item.)