標題

[SQL ] sqlite隨機可以固定嗎?

看板DatabaseDB板作者liu2007 (薯)
時間. (2023-10-23 11:57:12)
推文6則 (1推 0噓 5→)
我知道聽起來很矛盾

我有兩個元件,一個負責丟statement和offset,一個負責去資料庫撈這個statement  offset後的前十個結果回傳。

主要是不想一次撈完丟過來,費時又費空間
所以想要根據一個statement ,想要看下十個結果就自己送出請求

但我突然想到若是我要random 順序的結果,如果我用原本的做法,肯定每次random 的結果不一樣,十個十個一直拉,拉到資料庫的最大資料個數結束後,整個頁面一定很多重複的資料,因為每次撈十個就重新洗牌一次,一定會有想同的結果出現在前十個。

想問有沒有可能從語法去改?
譬如說給一個種子,使得亂數產生的隨機順序一樣

但我查了一下sqlite的隨機沒有種子的機制
只能特例然後用程式語言的角度去解決嗎?

-----
Sent from JPTT on my Asus ASUS_X00TDB.
--
※ 發信站: 批踢踢實業坊(pttweb.tw), 來自: 101.12.30.1 (臺灣)
※ 文章網址: https://pttweb.tw/Database/M.1698033439.A.A59
#1
: order by random() 其實並不省時喔, 因為它要為每筆資料10/23 21:50
#2       產生一個隨機值再去排序, 你一定會跑過每筆資料10/23 21:50
#3       這種一般的做法都是在 SQL 之外, 利用代表值 (如 PK) 排出10/23 21:51
#4       一個隨機順序後, 再取範圍丟 SQL 查詢回傳10/23 21:51
#5       保持某個決定的隨機順序這件事當然也就是在 SQL 之外達成10/23 21:52
#6
: 原來如此,我了解了,感謝提點10/23 23:53

相關文章


Database熱門文章