一、問題的提出
在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面就是sql語句的優化。對於海量資料,劣質sql語句和優質sql語句之間的速度差別可以達到上百倍,可見對於乙個系統不是簡單地能實現其功能就可,而是要寫出高質量的sql語句,提高系統的可用性。
在多數情況下,oracle使用索引來更快地遍歷表,優化器主要根據定義的索引來提高效能。但是,如果在sql語句的where子句中寫的sql**不合理,就會造成優化器刪去索引而使用全表掃瞄,一般就這種sql語句就是所謂的劣質sql語句。在編寫sql語句時我們應清楚優化器根據何種原則來刪除索引,這有助於寫出高效能的sql語句。
二、sql語句編寫注意問題
下面就某些sql語句的where子句編寫中需要注意的問題作詳細介紹。在這些where子句中,即使某些列存在索引,但是由於編寫了劣質的sql,系統在執行該sql語句時也不能使用該索引,而同樣使用全表掃瞄,這就造成了響應速度的極大降低。
1. is null 與 is not null
mysql優化之sql優化原則
原則一 選擇需要優化的sql 1 選擇更需要優化的sql 高併發 低消耗的sql。例項 a語句 1小時請求1w次,1次10個io b語句 1小時請求10次,1次1w個io 1 從單位時間產生的io總數來說,相同的 2 針對乙個sql,如果我能把10個io變成7個io,一小時減少3w個io 針對第二個...
SQL語句優化的原則
sql語句優化的原則 1 使用索引來更快地遍歷表。預設情況下建立的索引是非群集索引,但有時它並不是最佳的。在非群集索引 下,資料在物理上隨機存放在資料頁上。合理的索引設計要建立在 對各種查詢的分析和 上。一般來說 有大量重複值 且經常有範圍查詢 between 和order by group by發...
常用的SQL優化原則
同事寫的,我整理了一下 1 通過分析sql執行計畫來優化sql,這是最直接 最有效的方式。2 oracle sql優化的目標主要有如下三點 降低執行sql語句所需要的工作負載 均衡執行sql語句所需要的工作負載 並行化執行sql語句所需要的工作負載。3 sql的優化原則不能一概而論,與很多因素有關。...