亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - 一個(gè)sql的問題

瀏覽:103日期:2022-06-22 08:31:11

問題描述

stat表 字段 uid,act,time我想取出每個(gè)uid最近的一個(gè)act我現(xiàn)在的sql:

select * from (select * from stat order by uid,time desc) a group by uid

這個(gè)表數(shù)據(jù)量比較大,查起來有點(diǎn)慢,有沒有更好的辦法

甚至這個(gè):

select act,count(*) num from (select * from (select * from stat order by uid,time desc) a group by uid) b group by act

表:

CREATE TABLE `stat` ( `uid` varchar(40) COLLATE utf8_unicode_ci NOT NULL, `act` bigint(20) NOT NULL, `time` bigint(20) DEFAULT NULL, PRIMARY KEY (`uid`,`act`), KEY `index_time` (`time`) USING BTREE, KEY `index_act` (`act`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

問題解答

回答1:

先說一下我的看法吧,如果有錯(cuò)誤的地方,歡迎指正。首先,我覺得題主的SQL語句是錯(cuò)的,看起來結(jié)果正確只不過是寄希望于數(shù)據(jù)庫(kù)在執(zhí)行g(shù)roup by的實(shí)現(xiàn)機(jī)制。比如說如果把排序順序變一下結(jié)果就錯(cuò)了。在使用group by之后,題主能夠查詢的字段要么是在聚集函數(shù)里面,要么就是group by的字段,類似于’select * from a group by uid’這樣的寫法不規(guī)范,因?yàn)閿?shù)據(jù)庫(kù)在按照uid分組之后,會(huì)隨機(jī)選取一組act和time的字段值。題主的SQL看起來工作正常應(yīng)該是在排序之后,數(shù)據(jù)庫(kù)默認(rèn)選取了排序最靠前的。我認(rèn)為正確的SQL應(yīng)該是這樣的:

select stat.* from stat ,(select uid,max(time) as time from stat group by uid) tmp where stat.uid=tmp.uid and stat.time=tmp.time;

先分組查詢出每個(gè)人執(zhí)行時(shí)間最晚的時(shí)間,然后根據(jù)uid和time去獲取完整的操作信息。如果題主的數(shù)據(jù)庫(kù)對(duì)uid加了索引的話,這個(gè) SQL的查詢效率應(yīng)該還在可以接受的程度。一點(diǎn)個(gè)人看法。

我在原來的基礎(chǔ)之上,做了一丟丟修改,在本地測(cè)試性能有微小的提升,我本地是三萬組測(cè)試數(shù)據(jù),題主可以試一下:

select stat.* from stat ,(select uid,max(time) as time from stat group by uid order by null) tmp where stat.time=tmp.time and stat.uid=tmp.uid;回答2:

給查詢條件的那幾個(gè)列建立索引試試,B數(shù)索引呀,B+數(shù)索引呀等等

具體怎么建立你可以去百度搜一下

回答3:

這個(gè)語句為什么要嵌套子查詢,一條語句不行嗎,不是很清楚邏輯,,,不過正常情況下我都是用explain打印一下查詢信息

回答4:

一條group by就足夠了為什么要寫兩層

相關(guān)文章:
主站蜘蛛池模板: 秘书上班和老板啪啪中文字幕 | 国产又色又爽又黄的网站在线一级 | 免费高清a级毛片在线播放 免费高清小黄站在线观看 免费高清不卡毛片在线看 免费高清毛片 | 色综合久久夜色精品国产 | 免费观看爱爱视频 | 美女牲交毛片一级视频 | 久久精品免看国产成 | 亚洲一级片免费看 | 国产第一页亚洲 | 成人免费网址 | 国产一区二区三区久久 | 亚洲精品天堂一区二区三区 | 亚洲精品一二三四区 | 欧美一级毛片免费大全 | 亚洲 欧美 手机 在线观看 | 欧美末成年videos丨 | 中文字幕视频不卡 | 国产精品短视频免费观看 | 欧美精品亚洲精品日韩专 | 国产免费高清mv视频在线观看 | 黄色一级片在线播放 | 国语高清精品一区二区三区 | 国产一区二区免费播放 | 99久久一香蕉国产线看观看 | 日韩大片在线播放 | 中文字幕日韩在线一区国内 | 嗯 用劲 好爽 好深 免费视频 | 爱爱小视频在线观看网站 | 国产九九在线视频 | 欧美一级毛片国产一级毛片 | 国产色视频在线观看免费 | 欧美高清视频www夜色资源 | 亚洲欧美日韩在线中文一 | a级高清观看视频在线看 | 成人啪啪97丁香 | 久久亚洲伊人成综合人影院 | 亚洲国产成人精品久久 | 欧美一级片在线免费观看 | 国产精品久久久久久久 | 亚洲加勒比久久88色综合一区 | 久爱青草视频在线观看 |