SQL server 資料庫的索引和視圖、存儲過程和觸發器

来源:https://www.cnblogs.com/L2366/archive/2018/06/05/9138129.html
-Advertisement-
Play Games

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命令


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • vimtutor 返回normal模式: esc 移動游標 [h,j,k,l]: h 向左移動 j 向下移動 k 向上移動 l 向右移動 不保存便退出編輯器: :q! 刪除游標所在的字元: x 插入字元: i 結尾處插入字元: a 保存文件並退出: :wq 刪除操作: dw(until the st ...
  • 在redis.conf中,在大概65行左右有個loglevel # 指定日誌記錄級別# Redis總共支持四個級別:debug、verbose、notice、warning,預設為verbose# debug 記錄很多信息,用於開發和測試# varbose 有用的信息,不像debug會記錄那麼多# ...
  • ref:ttps://mp.weixin.qq.com/s_biz=MzI4Njg5MDA5NA==&mid=2247484231&idx=1&sn=4cf217a4d692a7aba804e5d96186b15b&chksm=ebd74246dca0cb5024de2f1d9f9e2ecb631e ...
  • 目錄:基礎準備 安裝elasticsearch 安裝 kibana 安裝logstash X-pack插件的安裝 登錄網頁查看 ELK名字解釋 ELK就是ElasticSearch + LogStash + Kibana,這三者是核心套件,但並非全部。 Elasticsearch是個開源分散式搜索引 ...
  • 適合初學linux的人學得比較凌亂的人看這個也能理理思路學得更系統,節約你的學習時間,提高效率 但是思維導圖的作用僅僅是幫人理清思路不會陷入細節中暈掉,細節補充學習請參考http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html以及鳥叔的 ...
  • 適合初學linux的人學得比較凌亂的人看這個也能理理思路學得更系統,節約你的學習時間,提高效率,但是思維導圖的作用是幫人理清思路不會迷失在細節中,細節補充學習請參考https://www.cnblogs.com/peida/archive/2012/12/05/2803591.html以及鳥叔的Li ...
  • 在我看來,emWin和StemWin就是基本相同的庫文件,關於這個庫文件的移植,網路上有很多教材,比如“ALIENTEK emWin開發手冊”,他們家提供了各種STM32系列的開發手冊,我這裡記錄的是關於使用“視窗對象(小工具)”中的“MENU(菜單)”這類小工具在應用過程中,遇到的問題進行記錄,並... ...
  • 事件現象: 最近同事在擴展VG時遇到了“Snapshot origin volumes can be resized only while inactive: try lvchange -an”錯誤 # partprobe # mkfs -t ext3 /dev/sdd3 # pvcreate /d... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...