說到sql優化,網上也充斥著各種優化方案。這裡總結一下:
一、建立索引
建立索引是最快速,也是最有效的優化方式。你肯定也聽說過,索引並不是越多越好。具體什麼時候需要建立索引,什麼時候不能建立索引。具體都有什麼樣的規則:
首先索引並不是越多越好,要做到寧缺毋濫。一張表中索參數量建議不超過4個
1》以下情況不考慮建立索引:
1.更新頻繁的表字段,不建立索引
2.表記錄內容較少時,不建立索引
3.唯一性太差的字段不建立索引
2》建立索引
1.經常查詢的字段新增索引
2.表連線的關聯字段新增索引
二、下面說一些語句書寫方面的一些優化方式
經常用到的一些優化方式這裡我就不贅述了,下面我著重說一些不太常見的一些優化方式,也是我們經常關注的問題:
1.先篩選資料後表連線?還是先表連線後篩選資料?
如果關聯條件是主鍵或是索引欄位時,先表連線後刪選資料,否則先篩選資料後表連線
2.表連線大表在前還是小表在前?
原則:小表驅動大表
3.先分組還是先表連線?
問題同1,當有索引的時候先表連線,否則先分組
4.sql執行順序問題
oracle的where語句是從右向左執行的,mysql的where語句是從左向右執行的,建議篩選資料量大的條件放前面執行。
三、優化準則
我們在做sql優化的時候是以什麼樣的準則來進行優化呢?
sql執行計畫是我們進行sql優化的標準,下面這篇是乙個sql執行計畫的優化標準。
細說PHP優化那些事
我們在用php程式設計的時候,總是想要使自己的程式占用資源最小,執行速度更快,量更少。往往我們在追求這些的同時卻失去了很多東西。下面我想講講我對php優化的理解。優化的目的是花最少的代價換來最快的執行速度與最容易維護的 進行大範圍的優化,而不是死啃某些程式 我這裡所說的優化,基本上都是從伺服器,ap...
app 效能優化的那些事
iphone上面的應用一直都是以流暢的操作體驗而著稱,但是由於之前開發人員把注意力更多的放在開發功能上面,比較少去考慮效能的問題,可能這其中涉及到objective c,c 跟lua,優化起來相對複雜一些,導致應用在比如touch等較低端的產品上,光從啟動到進入頁面就花了將近一分鐘的時間,頁面之間的...
iOS app效能優化的那些事 二
tableview 滑動不流暢 那碰到這種情況該怎麼處理,分析影象動畫效能主要用的是core animation這個元件,先簡單介紹一下裡面一些經常用到的選項 當你碰到效能問題的時候,你可以思考一下 是否受到cpu或者gpu的限制?是否有不必要的cpu渲染?是否有太多的離屏渲染操作?是否有太多的圖層...