最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)

 更新時間:2018年05月26日 10:44:32   作者:一只阿木木  
這篇文章主要介紹了Mysql查詢最近一條記錄的sql語句,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧

下策——查詢出結(jié)果后將時間排序后取第一條

select * from a 
where create_time<="2017-03-29 19:30:36" 
order by create_time desc
limit 1

這樣做雖然可以取出當前時間最近的一條記錄,但是一次查詢需要將表遍歷一遍,對于百萬以上數(shù)據(jù)查詢將比較費時;limit是先取出全部結(jié)果,然后取第一條,相當于查詢中占用了不必要的時間和空間;還有如果需要批量取出最近一條記錄,比方說:“一個訂單表,有用戶,訂單時間,金額,需要一次性查詢所有用戶的最近的一條訂單記錄”,那么每個用戶一次查詢就要做一次整表的遍歷,數(shù)據(jù)大的情況下,時間將會以指數(shù)形式增長,不能投入實際使用。

中策——查詢排序后group by

select * from (
  select * from a
  where create_time<="2017-03-29 19:30:36" 
  order by create_time desc
)  group by user_id

后來發(fā)現(xiàn)使用group by 可以根據(jù)group by 的參數(shù)列分組,但返回的結(jié)果只有一條,仔細觀察發(fā)現(xiàn)group by是將分組后的第一條記錄返回。時間在查詢后默認是順序排列,因此需要先將時間倒序排列,方可取出距離當前最近一條。

這樣查詢實際上還是進行了兩次查詢,雖然時間上相比第一個方法有了質(zhì)的飛躍,但是還可以進一步優(yōu)化。

上策——將max() 方法和group by結(jié)合使用

select *,max(create_time) from a
where create_time<="2017-03-29 19:30:36" 
group by user_id

這句可以理解為將結(jié)果集根據(jù)user_id分組,每組取time最大一條記錄。這樣就很好的實現(xiàn)了批量查詢最近記錄,并且僅僅需要遍歷一次表,即使在數(shù)據(jù)量巨大的情況下也可以在很短的時間查出結(jié)果。

 擴展:

現(xiàn)在有一張資產(chǎn)設(shè)備表:base_assets_turn

查詢資產(chǎn)的最新保管人

注:假設(shè)資產(chǎn)編號   ASSETS_ID=254

下策:

select * from base_assets_turn 
where ASSETS_ID = 254
order by create_time desc
limit 1

中策:

select * from ( select * from base_assets_turn 
where ASSETS_ID = 254
order by create_time desc) tt GROUP BY tt.ASSETS_ID;

上策:

那么上策該如何書寫呢,歡迎留言!

以上所述是小編給大家?guī)淼腗ysql查詢最近一條記錄的sql語句(優(yōu)化篇),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言!

相關(guān)文章

  • 為什么在MySQL中不建議使用UTF-8

    為什么在MySQL中不建議使用UTF-8

    在本篇文章里小編給大家分享了一篇關(guān)于MySQL中不要使用UTF-8的相關(guān)文章,有興趣的朋友們可以閱讀參考下。
    2020-12-12
  • CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法

    CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法

    這篇文章主要介紹了CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法,包括MySQL的隨機啟動等操作的介紹,需要的朋友可以參考下
    2016-02-02
  • MySQL?去重實例操作詳解

    MySQL?去重實例操作詳解

    這篇文章主要介紹了MySQL?去重實例操作詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Mybatis報錯: org.apache.ibatis.exceptions.PersistenceException解決辦法

    Mybatis報錯: org.apache.ibatis.exceptions.PersistenceException

    這篇文章主要介紹了Mybatis報錯: org.apache.ibatis.exceptions.PersistenceException解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • mysql 5.7.21 安裝配置方法圖文教程(window)

    mysql 5.7.21 安裝配置方法圖文教程(window)

    這篇文章主要為大家詳細介紹了window環(huán)境下mysql5.7.21安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • MySQL CPU過高的排查方法

    MySQL CPU過高的排查方法

    這篇文章主要介紹了MySQL CPU過高的排查方法,通過top命令查看服務(wù)器CPU資源使用情況,明確CPU占用率較高的是否是mysqld進程,文章通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • MySQL中select語句介紹及使用示例

    MySQL中select語句介紹及使用示例

    數(shù)據(jù)表都已經(jīng)創(chuàng)建起來了,我們就可以用自己喜歡的方式對數(shù)據(jù)表里面的信息進行檢索和顯示了,下面為大家講解下MySQL中select語句的應(yīng)用,感興趣的碰可以學習下
    2013-07-07
  • MySQL數(shù)據(jù)庫入門之多實例配置方法詳解

    MySQL數(shù)據(jù)庫入門之多實例配置方法詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫入門之多實例配置方法,結(jié)合實例形式分析了MySQL數(shù)據(jù)庫多實例配置相關(guān)概念、原理、操作方法與注意事項,需要的朋友可以參考下
    2020-05-05
  • macOS安裝Solr并索引MySQL

    macOS安裝Solr并索引MySQL

    這篇文章主要介紹了macOS安裝Solr并索引MySQL的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Linux操作系統(tǒng)操作MySQL常用命令小結(jié)

    Linux操作系統(tǒng)操作MySQL常用命令小結(jié)

    本文給大家分享Linux操作系統(tǒng)操作MySQL常用命令小結(jié),需要的朋友參考下吧
    2017-07-07

最新評論

富阳市| 农安县| 宁强县| 武汉市| 扎囊县| 安塞县| 扶风县| 时尚| 杭州市| 恩施市| 松江区| 射阳县| 淮南市| 芜湖市| 依安县| 麻阳| 巍山| 高台县| 泾川县| 襄樊市| 家居| 金堂县| 沽源县| 陇川县| 诏安县| 女性| 米易县| 都安| 罗山县| 兴文县| 肥乡县| 勃利县| 宝兴县| 西藏| 宁陵县| 洱源县| 仪征市| 怀化市| 嘉黎县| 江永县| 黔江区|