数据库设计与查询语句的优化
生活随笔
收集整理的這篇文章主要介紹了
数据库设计与查询语句的优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一,設計優化
數據庫的設計優化基本上主要是靠索引來進行的。
建立索引的注意事項
一般來說:?
①.有大量重復值、且經常有范圍查詢(between, >,< ,>=,< =)和order by、group by發生的列,可考慮建立群集索引;?
②.經常同時存取多列,且每列都含有重復值可考慮建立組合索引;?
③.組合索引要盡量使關鍵查詢形成索引覆蓋,其前導列一定是使用最頻繁的列。?
1.多表操作在被實際執行前,查詢優化器會根據連接條件,列出幾組可能的連接方案并從中找出系統開銷最小的最佳方案。連接條件要充份考慮帶有索引的表、行數多的表;內外表的選擇可由公式:外層表中的匹配行數*內層表中每一次查找的次數確定,乘積最小為最佳方案。?
2.查看執行方案的方法-- 用set showplanon,打開showplan選項,就可以看到連接順序、使用何種索引的信息;想看更詳細的信息,需用sa角色執行dbcc(3604,310,302)。?
二,Sql優化查詢
優化即where子句利用了索引,不可優化即發生了表掃描或額外開銷。?
1.任何對列的操作都將導致表掃描,它包括數據庫函數、計算表達式等等,查詢時要盡可能將操作移至等號右邊。?
2.in、or子句常會使用工作表,使索引失效;如果不產生大量重復值,可以考慮把子句拆開;拆開的子句中應該包含索引。?
3.要善于使用存儲過程,它使SQL變得更加靈活和高效。
總結
以上是生活随笔為你收集整理的数据库设计与查询语句的优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写代码的若干个基本规则(以Java为例
- 下一篇: 企业IM初显峥嵘