提高系統效能 對SQL語句優化的思考

2021-09-07 13:14:49 字數 684 閱讀 6449

軟體在研發的過程中自始至終都在留意著系統的可擴充套件性。但與此同一時候也在關注著系統的效能,sql語句作為系統效能的一環不容忽視。從今天開始結合開發的經驗,談一下我對sql語句優化的理解和認知:

1、在聯合查詢語句中做到小表驅動大表:

聯合查詢是經常使用到的一種查詢方式,左連線、右連線、內連線等等時不時地被應用在查詢語句中,然而在這一過程中假設能判明各表的資料量,那就再好只是了,在這樣的情況下from後面應該緊跟資料量小的表。為什麼?呵呵呵,比方a表有1000條資料,b表有20條資料。使用左連線進行聯合查詢假設a表

驅動b表

,那麼b表

就要被訪問

1000

次,但假設b表驅動a

表,a僅僅要被訪問

20次,其效能可想而知。

2、不要使用in+子查詢

請注意,我這裡並沒有說不要使用in查詢,假如in中的值是給定的。而不是通過select從其他表中查詢取得,那麼使用inkeyword也無可厚非,可是假如in中的資料是通過select從其他表中查詢取得的,強烈建議將其改為聯合查詢的方式,詳細方法請參看部落格《sql語句優化——in,not in,exists,not exists, left join...on

》.3、注意wherekeyword後面查詢條件的順序,將尚未給定值的查詢條件放到最後面。將給定的非模糊查詢條件放到最前面;

本部落格持續更新中。敬請期待。

優化系統效能

程式框架 hibernate3 struts2 spring2 資料庫 sqlserver2008 伺服器 tomcat6 優化方法 1 配置連線池 採用的c3p0連線池 2 在程式中獲取列表時,用iterator代替list 3 在查詢之後可以使用session.clear 方法釋放快取 4 用資...

Linux系統效能優化

由於各種的i o負載情形各異,linux系統中檔案系統的預設配置一般來說都比較中庸,強調普遍適用性。然而在特定應用下,這種配置往往在i o效能方面不能達到最優。因此,如果應用對i o效能要求較高,除了採用效能更高的硬體 如磁碟 hba卡 cpu mem等 外,我們還可以通過對檔案系統進行效能調優,來...

Android 系統效能優化

android作為一種移動裝置的作業系統,無法像pc機一樣具有強大的記憶體和cpu,這就意味著,我們的android應用程式無法無節制的使用記憶體和cpu資源。很多時候我們過多的使用這些資源時,會導致系統的卡頓或者程式anr。常見的記憶體使用異常主要包括兩種 記憶體溢位和記憶體洩露。記憶體溢位 指的...