mysql random取資料最快方法

2021-10-06 21:08:28 字數 659 閱讀 3002

在mysql中通過sql語句獲取隨機資料的方式如下, 經測試,在1000w資料的表中,執行速度在10多毫秒

select * from user1 as t1 join (select round(rand() * ((select max(id) from user1) – (select min(id) from user1)) + (select min(id) from user1)) as id) as t2 where t1.id >= t2.id order by t1.id limit 10;
另外一種(參考mysql 是怎樣執行的 從根上理解mysql)

mysql> select count(*) into @c from t; 獲取表的資料條數

set @y1 = floor(@c * rand()); 獲取隨機數

set @y2 = floor(@c * rand()); 獲取隨機數

set @y3 = floor(@c * rand()); 獲取隨機數

select * from t limit @y1,1; //在應用**裡面取y1、y2、y3值,拼出sql後執行

select * from t limit @y2,1;

select * from t limit @y3,1;

參考:

sql 分組取最值

create table mobilelog id int primary key auto increment,自增id mobile varchar 26 手機號碼 log varchar 55 日誌資訊 createtime datetime 建立時間 獲取每個手機號碼最新的日誌資訊 先獲取所...

取陣列中的最值

第乙個引數null,這個是因為沒有物件去呼叫這個方法,所以直接傳遞null過去 math.max 方法,支援傳遞多個引數,比如 math.max 1,4,2,3,7,5,6 但是它不支援直接傳遞乙個陣列作為引數,比如 math.max 1,4,2,3,7,5,6 先將陣列進行排序,可以按照從大到小的...

Python 最簡單爬蟲爬取資料 一 如何請求

python 3.x中使用urllib這個模組進行操作 1.urllib.request 模組是用來開啟和讀取urls的 2.urllib.error 模組包含一些有urllib.request產生的錯誤,可以使用try進行捕捉處理 3.urllib.parse 模組包含了一些解析urls的方法 我...