91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL百分位數計算如何進行優化

發布時間:2021-11-01 15:14:41 來源:億速云 閱讀:305 作者:小新 欄目:MySQL數據庫

小編給大家分享一下MySQL百分位數計算如何進行優化,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

主要是采用存儲過程,在中間計算結果中,增加了一個索引

原來的SQL

  1. select t5.query_time,t5.ts,t2.v from (

  2.     select query_time,total,v, floor(1+(total-1)*v) rn

  3.     from (

  4.          select query_time,count(*) total from t group by query_time

  5.     ) t3, (select 0.71 v,1 seq union all select 0.81,2 union all select 0.91,3) t4

  6. )

  7. t2 inner join (

  8.     select

  9.     query_time,

  10.     case when @gid=query_time then @rn:=@rn+1 when @gid:=query_time then @rn:=1 end rn,

  11.     ts

  12.     from (

  13.         select * from t ,(select @gid:='',@rn:=0) vars order by query_time,ts

  14.     ) t1

  15. ) t5 on (t2.query_time=t5.query_time and t2.rn=t5.rn )



改進為存儲過程

  1. drop procedure p;

  2. delimiter $$

  3. create procedure p()

  4. begin

  5.     drop table if exists tmp_result;

  6.     

  7.     create temporary table tmp_result(

  8.         query_time date,

  9.         rn int,

  10.         ts float,

  11.         key(query_time,rn)

  12.     ) engine =memory;

  13.     

  14.     insert ignore into tmp_result

  15.     select

  16.     query_time ,

  17.     case when @gid=query_time then @rn:=@rn+1 when @gid:=query_time then @rn:=1 end rn,

  18.     ts

  19.     from (

  20.         select * from t ,(select @gid:='',@rn:=0) vars order by query_time,ts

  21.     ) t1 ;


  22.     select t5.query_time,t5.ts,t2.v from (

  23.         select query_time,total,v, floor(1+(total-1)*v) rn

  24.         from (

  25.              select query_time,count(*) total from t group by query_time

  26.         ) t3, (select 0.71 v,1 seq union all select 0.81,2 union all select 0.91,3) t4

  27.     )

  28.     t2 inner join tmp_result t5 on (t2.query_time=t5.query_time and t2.rn=t5.rn );

  29. end $$


  30. delimiter ;


  31. call p

使用存儲過程 一般 11秒 左右

以上是“MySQL百分位數計算如何進行優化”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那坡县| 三门峡市| 长阳| 北辰区| 法库县| 城市| 三台县| 洛扎县| 邹城市| 蓬溪县| 大名县| 西充县| 金坛市| 会同县| 三河市| 临沂市| 陆川县| 米泉市| 霍州市| 土默特左旗| 漳浦县| 宝兴县| 丹棱县| 庆云县| 天长市| 绥中县| 塔河县| 宁德市| 阿拉善盟| 云和县| 讷河市| 仙居县| 象山县| 青岛市| 麻阳| 张掖市| 南丹县| 都安| 东平县| 湾仔区| 灵璧县|