久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL百分位數(shù)計算如何進行優(yōu)化

158次閱讀
沒有評論

共計 1343 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。

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

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

原來的 SQL

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

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

 from (

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

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

)

t2 inner join (

 select

 query_time,

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

 ts

 from (

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

 ) t1

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

改進為存儲過程

drop procedure p;

delimiter $$

create procedure p()

begin

 drop table if exists tmp_result;

 

 create temporary table tmp_result(

 query_time date,

 rn int,

 ts float,

 key(query_time,rn)

 ) engine =memory;

 

 insert ignore into tmp_result

 select

 query_time ,

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

 ts

 from (

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

 ) t1 ;

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

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

 from (

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

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

 )

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

end $$

delimiter ;

call p

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

以上是“MySQL 百分位數(shù)計算如何進行優(yōu)化”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-27發(fā)表,共計1343字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 大足县| 郑州市| 华宁县| 永平县| 辽源市| 宜宾市| 古丈县| 云林县| 扬中市| 麻阳| 顺昌县| 美姑县| 顺义区| 开封市| 福建省| 诸暨市| 久治县| 广州市| 敦化市| 高碑店市| 西藏| 五寨县| 双流县| 类乌齐县| 舟山市| 南靖县| 平潭县| 磴口县| 遂宁市| 秦安县| 武宣县| 新蔡县| 西峡县| 乌兰察布市| 靖宇县| 南宁市| 金湖县| 塘沽区| 高台县| 东乡族自治县| 渝中区|