日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

数据库的优化tips

發(fā)布時(shí)間:2025/7/14 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库的优化tips 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)庫(kù) ? TIPS::
1、用于記錄或者是數(shù)據(jù)分析的表創(chuàng)建時(shí)::使用Id作為主鍵,1,2,3...表示消息條數(shù)。用戶賬號(hào)id用于做外鍵。一個(gè)用戶相應(yīng)唯一個(gè)accountId
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一個(gè)accountId能夠相應(yīng)多條數(shù)據(jù);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
2、創(chuàng)建索引:: ? ?比如須要依據(jù)注冊(cè)版本和注冊(cè)游戲ID來(lái)查詢另外一些字段的時(shí)候,就能夠依據(jù)版本和游戲ID來(lái)創(chuàng)建索引::相當(dāng)于就是依據(jù)查詢條件來(lái)建索引。


3、數(shù)據(jù)庫(kù)查詢優(yōu)化:: ?(1)、慎用 SELECT DISTINCT。從記錄集中排除反復(fù)記錄時(shí),才使用DISTINCT;
? ? ?(2)、選擇最優(yōu)效率的表名順序 SQLSERVER從右到左的順序處理FROM子句中的表名;當(dāng)from子句中包括多個(gè)表的情況下,必須選擇記錄最少的表作為基礎(chǔ)表,即把數(shù)據(jù)少的表放在最后;(注:有三個(gè)以上的表連接查詢,則須要選擇交叉表作為基礎(chǔ)表)
? ? ?
4、使用表的別名(Alias)::連接多個(gè)表是,使用別名把別名前綴于每一個(gè)Column上


5、最好使用可SARG作為WHERE搜索條件:: ? ? ? ?比如列和常量之間的比較。在WHERE子句里不可SARG的搜索條件如"IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE"和"LIKE '%500'"。通常(但不總是)會(huì)阻止查詢優(yōu)化器使用索引運(yùn)行搜索。另外在列上使用包含函數(shù)的表達(dá)式、兩邊都使用同樣列的表達(dá)式、或和一個(gè)列(不是常量)比較的表達(dá)式,都是不可SARG的。 ? (注::假設(shè)你不知道特定的WHERE查詢字句是不是可SARG。能夠在查詢分析器里檢查查詢運(yùn)行計(jì)劃)


6、WHERE字句中的連接順序:: ? ? ? SQLSERVER採(cǎi)用自下而上的順序解析WHERE字句,所以表之間的連接必須寫在其它WHERE條件之前。能夠過(guò)濾最多數(shù)據(jù)記錄的條件必須寫在WHERE子句的末尾。 ?


7、避免使用困難的正規(guī)表達(dá)式:: ?


8、 避免對(duì)大型數(shù)據(jù)表行數(shù)據(jù)的順序存取:: ? ?




9、正確使用UNION和UNION ALL:: 使用UNION時(shí)、相當(dāng)于在結(jié)果集上運(yùn)行SELECT DISTINT。UNION將聯(lián)合兩個(gè)相類似的記錄表,然后搜索反復(fù)的記錄并排除。;; 假設(shè)搜索的聯(lián)合記錄集中木有反復(fù)記錄,則使用UNION ALL。 ? ? ?


10、EXISTS和IN的使用:: ?基于基礎(chǔ)表的查詢中。為了滿足一個(gè)條件,往往須要對(duì)還有一個(gè)表進(jìn)行連接。在這樣的情況下,使用EXISTS(或NOT EXISTS)通常將提高查詢的效率。




11、用存儲(chǔ)過(guò)程取代直接寫查詢語(yǔ)句::降低網(wǎng)絡(luò)流量和響應(yīng)時(shí)間,提升應(yīng)用程序性能;
? ?
12、存儲(chǔ)過(guò)程名不要以sp_開頭::這個(gè)特別的前綴是為系統(tǒng)存儲(chǔ)過(guò)程保留的,用戶定義的存儲(chǔ)過(guò)的執(zhí)行,會(huì)略微減少一些執(zhí)行效率。


13、存儲(chǔ)古城的擁有者要同樣:: ? ? ?同一存儲(chǔ)過(guò)程里調(diào)用的全部對(duì)象的擁有者都應(yīng)該同樣,DBO更合適。



14、讓食物盡可能的短:: 保持TSQL事務(wù)盡可能的短。這會(huì)降低鎖的數(shù)量。


15、tinyint(0-255、-128 - 127 1字節(jié))。smallint(0-65535、-32768 - 32767 2字節(jié))
? ? mediumint(0-16777215,-8388608 - 8388607 4字節(jié));int(0-4294967295、-2147483648 - 2147483647 8字節(jié))

總結(jié)

以上是生活随笔為你收集整理的数据库的优化tips的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。