婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL語句性能優化(續)

SQL語句性能優化(續)

熱門標簽:濮陽清豐400開頭的電話申請 臺灣外呼系統軟件 疫情時期電話機器人 樂昌電話機器人 真3地圖標注 南京怎么申請400這種電話 地圖標注可以編輯地名嗎 地圖標注跑線下市場 南通智能外呼系統怎么樣

上篇介紹了一下自己在項目中遇到的一種使用sql語句的優化方式(性能優化——SQL語句),但是說的不夠完整。在對比的過程中,沒有將max函數考慮在內,經人提醒之后趕緊做了一個測試,測試過程中又學到了不少的東西。

上次用的是select count(*) 和select * 的執行效率問題,因為我的需求是獲取數據的一個總數來自動給出新的id,然后網友給出可以使用max的方式給出新id。其實這也是一種不錯的思路(當時我們也用過該函數,只不過因為系統數據本身問題,不適合用該函數),然后我就對max函數的性能做了一下測試。

第一次測試:

Declare @dddd Datetime Set @dddd=GETDATE()
select MAX(num) from T_BasicInformation
select [花費時間]=DATEDIFF(ms,@dddd,GetDate())

測試結果:

通過對比發現,使用該方法的執行效率貌似不如select count(*) 的效率高(當時測得的時間為3ms),那么事實真的是這樣嗎?后來查了一些資料,發現其實max的效率相對來說會更高,那么為什么我們的測試結果會是這樣的呢?咱們接著進行測試

第二次測試:

①語句一

Declare @ddd Datetime Set @ddd=GETDATE()
select MAX(id) from t_SellLogDetail
select [花費時間]=DATEDIFF(ms,@ddd,GetDate())

測試結果:

②語句二

Declare @dddd Datetime Set @dddd=GETDATE()
select MAX(foodId) from t_SellLogDetail
select [花費時間]=DATEDIFF(ms,@dddd,GetDate())

測試結果:

③語句三

Declare @ddddd Datetime Set @ddddd=GETDATE()
select MAX(orderId) from t_SellLogDetail
select [花費時間]=DATEDIFF(ms,@ddddd,GetDate())

測試結果:


做完第二次測試會發現,同樣的表,不同的字段,其max函數執行效果就不一樣。然后就從數據類型出發了,數據類型如下:

這樣的話,我們的測試結果不同問題就迎刃而解了,在max函數的執行過程中,會根據數據類型的不同而有不同的執行效率。如果是主鍵且為整型,其效率是最高的;而非主鍵時,int的效率又會高于字符類型。其實這些都很容易理解,各有各的使用方式。

小結:

第一次測試完之后就沒有考慮其他的東西,后來又發現在max中還有一些需要注意的地方。所以,在我們平常的學習中,一定要學會拓展學習,不要僅僅限于自己想要的結果。得到結果固然是系統需要的,但是對于處于學習期的我們,這遠遠不夠,我們要不斷的探索,才能贏得更大的進步。

關于SQL語句性能優化,小編就給大家介紹到這里,希望對大家有所幫助!

您可能感興趣的文章:
  • 淺談MySQL中優化sql語句查詢常用的30種方法
  • sql語句優化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句
  • SQL語句優化方法30例(推薦)
  • 如何優化SQL語句的心得淺談
  • SQL 語句優化方法30例
  • 如何優化SQL語句(全)
  • 通過分析SQL語句的執行計劃優化SQL
  • 常用SQL語句優化技巧總結【經典】
  • SQL語句優化提高數據庫性能
  • sql語句優化的一般步驟詳解

標簽:福建 陜西 廣安 南京 阿里 通遼 馬鞍山 河北

巨人網絡通訊聲明:本文標題《SQL語句性能優化(續)》,本文關鍵詞  SQL,語句,性能,優化,續,SQL,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL語句性能優化(續)》相關的同類信息!
  • 本頁收集關于SQL語句性能優化(續)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 香河县| 天全县| 濮阳县| 霍邱县| 宜春市| 长海县| 株洲县| 邯郸市| 齐河县| 开江县| 郯城县| 阆中市| 万盛区| 鱼台县| 汨罗市| 民和| 育儿| 棋牌| 永嘉县| 册亨县| 江西省| 大安市| 岚皋县| 汉沽区| 乌兰县| 扶风县| 贡觉县| 嘉鱼县| 即墨市| 鹤壁市| 淄博市| 新化县| 武清区| 邵阳市| 图们市| 淳安县| 扎囊县| 那坡县| 南安市| 抚松县| 京山县|