[SQL ] sqlite随机可以固定吗?

楼主: liu2007 (è–¯)   2023-10-23 11:57:12
我知道听起来很矛盾
我有两个元件,一个负责丢statement和offset,一个负责去数据库捞这个statement offset后的前十个结果回传。
主要是不想一次捞完丢过来,费时又费空间
所以想要根据一个statement ,想要看下十个结果就自己送出请求
但我突然想到若是我要random 顺序的结果,如果我用原本的做法,肯定每次random 的结果不一样,十个十个一直拉,拉到数据库的最大资料个数结束后,整个页面一定很多重复的资料,因为每次捞十个就重新洗牌一次,一定会有想同的结果出现在前十个。
想问有没有可能从语法去改?
譬如说给一个种子,使得乱数产生的随机顺序一样
但我查了一下sqlite的随机没有种子的机制
只能特例然后用程式语言的角度去解决吗?
作者: LPH66 (-6.2598534e+18f)   2023-10-23 21:50:00
order by random() 其实并不省时喔, 因为它要为每笔资料产生一个随机值再去排序, 你一定会跑过每笔资料这种一般的做法都是在 SQL 之外, 利用代表值 (如 PK) 排出一个随机顺序后, 再取范围丢 SQL 查询回传保持某个决定的随机顺序这件事当然也就是在 SQL 之外达成
楼主: liu2007 (è–¯)   2023-10-23 23:53:00
原来如此,我了解了,感谢提点
作者: glo6e (ezdodance)   2023-12-25 22:53:00

Links booklink

Contact Us: admin [ a t ] ucptt.com