SQL 最佳化手冊
規範sql編寫:在做效能測試的時候:簡單層面的方法的下的方法:
1.SQL語句使用大寫的,減少編譯時間
2.查詢時候使用表的別名,減少編譯時間以及拼接表中列歧義引起的錯誤
3.表名順序,sql自右往左處理from後的表名,資料量大的表放在後邊,多個表的情況下使用資料量少的表作為基礎表,3個表的話用交叉表作為基礎表
4.where子句中的連線順序:sql子下往上處理where子句,將能過濾多數資料的條件放到末尾。
5.select 中避免使用*,減少編譯時間
6.資料處理儘量放在伺服器上執行,建立編譯好的儲存過程
7.多使用commit提交,不要執行了很多處理語句後再提交
8.儘量減少對錶的查詢,select中不查表,where後不查表
9.避免耗費資源高的操作:distinct,union,minus(差集),intersect(交集),order by
10.union all 不會對結果集排序,可以使用。
11.exists替換distinct,exists子查詢滿足條件會立刻返回結果。
select a.name from users a where exists (select 1 from users b where a.name=b.name);
12.where子句替換having,一般我都不用having,很少接觸到,也不瞭解。
13.truncate代替delete清空表。
14.decode函式可以減少處理時間。
15.用exists代替in,not exists代替not in
in 跟exists執行效率會有交集,
16.全數字的欄位儘量不建成字元型
17.varchar/nvarchar 比char/nchar效率高
18.表連線不應太多,5個以內最好
19.避免使用多層巢狀檢視
20.in中出現多的放在前邊,減少遍歷次數
21.儘量使用>=,少使用>
22.批次新增資料,使用批次新增語句
23.儘量少使用觸發器
24.合理使用索引,對於資料操作頻繁的儘量不要使用索引,影響操作效率。
參考資料:
https://www.cnblogs.com/nydk/p/13995215.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2989225/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 語法速成手冊SQL
- Squid最佳化完全手冊(轉)UI
- SQL語法參考手冊SQL
- Squid最佳化完全手冊(1)(轉)UI
- Squid最佳化完全手冊(2)(轉)UI
- SQL語法參考手冊(轉)SQL
- SQL 語法參考手冊(SQL) (轉)SQL
- sql語句的程式設計手冊(轉)SQL程式設計
- PostgreSQL學習手冊(SQL語言函式)SQL函式
- sql server 2012官方手冊之一SQLServer
- sql最佳化:使用sql profile最佳化sql語句SQL
- 是操作手冊更是安全手冊
- [原創]SQL Server 2005 映象構建手冊SQLServer
- SQL最佳化SQL
- 使用SQL TRACE和TKPROF——效能調整手冊和參考SQL
- Linux資料庫:SQL語法參考手冊(轉)Linux資料庫SQL
- 前端手冊前端
- MongoDB手冊MongoDB
- SparkSQL手冊SparkSQL
- Babel手冊Babel
- HTML手冊HTML
- 工具手冊
- Redis手冊Redis
- DOM參考手冊及事件參考手冊事件
- Sensor Tower:應用商店最佳化指導手冊(附下載)
- 【SQL最佳化】SQL最佳化的10點注意事項SQL
- 資料倉儲中的分析SQL——資料倉儲手冊SQL
- IPTABLES-SAVE手冊頁&IPTABLES-RESTORE手冊頁REST
- SQL最佳化1SQL
- PL/SQL最佳化SQL
- sql最佳化(mysql)MySql
- SQL最佳化方案SQL
- sql最佳化技巧SQL
- TypeScript中文手冊TypeScript
- JS速查手冊JS
- MeterSphere開發者手冊
- JVM指令手冊JVM
- PostgreSQLPHP開發者手冊SQLPHP