国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL語句性能優(yōu)化(續(xù))

2024-08-31 01:03:45
字體:
供稿:網(wǎng)友
這篇文章主要介紹了SQL語句性能優(yōu)化(續(xù)),設(shè)計(jì)到性能優(yōu)化相關(guān)知識,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
 

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

上次用的是select count(*) 和select * 的執(zhí)行效率問題,因?yàn)槲业男枨笫谦@取數(shù)據(jù)的一個總數(shù)來自動給出新的id,然后網(wǎng)友給出可以使用max的方式給出新id。其實(shí)這也是一種不錯的思路(當(dāng)時我們也用過該函數(shù),只不過因?yàn)橄到y(tǒng)數(shù)據(jù)本身問題,不適合用該函數(shù)),然后我就對max函數(shù)的性能做了一下測試。

第一次測試:

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

測試結(jié)果:

SQL,性能優(yōu)化

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

第二次測試:

①語句一

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

測試結(jié)果:

SQL,性能優(yōu)化

②語句二

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

測試結(jié)果:

SQL,性能優(yōu)化

③語句三

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

測試結(jié)果:

SQL,性能優(yōu)化

做完第二次測試會發(fā)現(xiàn),同樣的表,不同的字段,其max函數(shù)執(zhí)行效果就不一樣。然后就從數(shù)據(jù)類型出發(fā)了,數(shù)據(jù)類型如下:

SQL,性能優(yōu)化

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

小結(jié):

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

關(guān)于SQL語句性能優(yōu)化,小編就給大家介紹到這里,希望對大家有所幫助!



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大邑县| 霞浦县| 岑溪市| 泰安市| 万安县| 屏边| 云南省| 方山县| 大邑县| 云南省| 奉化市| 北碚区| 张家界市| 商水县| 远安县| 德惠市| 大化| 兰考县| 永济市| 三亚市| 桐庐县| 宁陵县| 德江县| 秀山| 宁城县| 拜城县| 疏附县| 滨州市| 漳浦县| 额尔古纳市| 白河县| 当阳市| 伊宁市| 海安县| 历史| 墨江| 泾源县| 托里县| 郁南县| 郁南县| 磐石市|