資料庫設計與查詢語句的優化
一,設計優化
資料庫的設計優化基本上主要是靠索引來進行的。
建立索引的注意事項
一般來說:
①.有大量重複值、且經常有範圍查詢(between, >,< ,>=,< =)和order by、group by發生的列,可考慮建立群集索引;
②.經常同時存取多列,且每列都含有重複值可考慮建立組合索引;
③.組合索引要儘量使關鍵查詢形成索引覆蓋,其前導列一定是使用最頻繁的列。
1.多表操作在被實際執行前,查詢優化器會根據連線條件,列出幾組可能的連線方案並從中找出系統開銷最小的最佳方案。連線條件要充份考慮帶有索引的表、行數多的表;內外表的選擇可由公式:外層表中的匹配行數*內層表中每一次查詢的次數確定,乘積最小為最佳方案。
2.檢視執行方案的方法-- 用set showplanon,開啟showplan選項,就可以看到連線順序、使用何種索引的資訊;想看更詳細的資訊,需用sa角色執行dbcc(3604,310,302)。
二,Sql優化查詢
優化即where子句利用了索引,不可優化即發生了表掃描或額外開銷。
1.任何對列的操作都將導致表掃描,它包括資料庫函式、計算表示式等等,查詢時要儘可能將操作移至等號右邊。
2.in、or子句常會使用工作表,使索引失效;如果不產生大量重複值,可以考慮把子句拆開;拆開的子句中應該包含索引。
3.要善於使用儲存過程,它使SQL變得更加靈活和高效。
相關文章
- ORACLE 資料庫 查詢語句與DML語句Oracle資料庫
- 資料庫查詢語句資料庫
- 效能優化查詢語句優化
- 資料庫查詢優化:使用explain分析sql語句執行效率資料庫優化AISQL
- 資料庫查詢優化資料庫優化
- 查詢資料庫中的topsql語句資料庫SQL
- 資料庫查詢優化:巢狀查詢資料庫優化巢狀
- 【資料庫】MySQL查詢優化資料庫MySql優化
- mysql資料庫優化之表的設計和慢查詢定位MySql資料庫優化
- 資料庫效能優化之SQL語句優化資料庫優化SQL
- Sql語句本身的優化-定位慢查詢SQL優化
- 一個connect by查詢語句的優化優化
- DQL(Date Query Language)資料庫查詢語句資料庫
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- 【資料庫】查詢優化之子連線優化資料庫優化
- SQL Server之資料庫語句優化SQLServer資料庫優化
- SQL Server 之資料庫語句優化SQLServer資料庫優化
- 查詢資料庫隱含引數的sql語句資料庫SQL
- 《MySQL慢查詢優化》之SQL語句及索引優化MySql優化索引
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- 優化SQL Server資料庫查詢方法優化SQLServer資料庫
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- 找到Oracle資料庫中效能最差的查詢語句BSOracle資料庫
- oracle資料庫:耗cpu sql語句優化Oracle資料庫SQL優化
- 資料庫索引設計與優化讀書筆記--《四》為SELECT語句建立理想的索引資料庫索引優化筆記
- 【效能優化】查詢繫結變數的sql語句優化變數SQL
- Mysql 資料庫 -------- SQL語句進階查詢 ------- 前部分MySql資料庫
- 檢視 Laravel 查詢資料語句Laravel
- MySql常用30種SQL查詢語句優化方法MySql優化
- mysql查詢語句優化工具MySql優化
- Mysql 獲取表設計查詢語句MySql
- 改進資料庫效能-SQL查詢優化資料庫SQL優化
- PostgreSQL 原始碼解讀(29)- 查詢語句#14(查詢優化-上拉子查詢)SQL原始碼優化
- PostgreSQL 原始碼解讀(25)- 查詢語句#10(查詢優化概覽)SQL原始碼優化
- PostgreSQL 原始碼解讀(17)- 查詢語句#2(查詢優化基礎)SQL原始碼優化
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- SQL Server資料庫查詢優化的方法總結SQLServer資料庫優化
- 小覷資料庫(SqlServer)查詢語句執行過程資料庫SQLServer