1、索引:數據排序的方法,快速查詢數據 分類: 唯一索引:不允許有相同值 主鍵索引:自動創建的主鍵對應的索引,命令方式不可刪 聚集索引:物理順序與索引順序一致,只能創建一個 非聚集索引:物理順序與索引順序不一致,可創建多個 複合索引:多列組成 全文索引:特殊功能索引 命令: 創建索引:create ...
1、索引:數據排序的方法,快速查詢數據
分類:
唯一索引:不允許有相同值
主鍵索引:自動創建的主鍵對應的索引,命令方式不可刪
聚集索引:物理順序與索引順序一致,只能創建一個
非聚集索引:物理順序與索引順序不一致,可創建多個
複合索引:多列組成
全文索引:特殊功能索引
命令:
創建索引:create [clustered|unique] index 索引名 on 表名(列名 desc)
使用索引:select * from 表名 with (index(索引名))
註意事項:①儘量在頻繁使用、經常查詢、排序的列上建索引
②不要再列值很少或行數很少的表中建索引
2、視圖:虛擬表,來自一個或多個表
作用:①篩選表中數據
②屏蔽敏感數據
③將多個表抽象為一個表,減少了操作難度
命令:create view 視圖名 as SQL語句
註意事項:①不能有order by子句,除非有top子句
②不能有into
③不能引用臨時表
3、存儲過程:SQL語句和控制句的預編譯集合,保存在資料庫(resource),可由應用程式調用執行
優點:①模塊化:一次創建,多次調用
②速度快、效率高
③減少網路流量
④安全性好
分類:①系統存儲過程:以sp_ 開頭
sp_databases :資料庫信息
sp_tables :表和視圖
sp_helptext :存儲過程、觸發器、視圖的信息
擴展存儲過程,可以執行SQL外的命令,比如操作系統命令,以xp_ 開頭
②用戶自定義存儲過程:
命令:create procedure 存儲過程名 as SQL語句
執行:exec 存儲過程名
可以添加、輸入、輸出的參數值
4、觸發器:對錶進行插入、更新、刪除時自動執行的存儲過程
可以實現比check約束更複雜的約束,通過事件而觸發
分類:①insert觸發器:插入數據觸發
②update觸發器:更新數據觸發
③delete觸發器:刪除數據觸發
觸發器的表:存儲在記憶體中,觸發器完成則刪除
inserted表:保存新增的和更新的信息
deleted表:存放被刪除和更新前的記錄
命令:create trigger 觸發器名 on 表名 for [update,insert,delete] as SQL命令