對比索引、視圖、游標、存儲過程和觸發器

来源:https://www.cnblogs.com/xuijer/archive/2020/04/30/12811576.html
-Advertisement-
Play Games

1、索引 1-1、索引的概述 我們把一個表中的一列或者多列和列中元素所在表中記錄的物理地址組合成一個新的表。這個表的記錄大致為列的內容和該列所在記錄的物理地址。 1-2、索引的優缺點 www.2cto.com 優點:大大加快了對源表的執行速度,我們對索引表的檢索就可以實現對源表的檢索。到底快在哪裡? ...


1、索引        1-1、索引的概述                 我們把一個表中的一列或者多列和列中元素所在表中記錄的物理地址組合成一個新的表。這個表的記錄大致為列的內容和該列所在記錄的物理地址。        1-2、索引的優缺點   www.2cto.com                  優點:大大加快了對源表的執行速度,我們對索引表的檢索就可以實現對源表的檢索。到底快在哪裡?舉例說明:我們通過T-SQL語句查詢源表中的一條記錄,在沒有索引表的時候,電腦首先把整個源表從外存載入到記憶體,然後再一一匹配,從外存載入到記憶體耗時是非常的大;在有索引的時候,電腦首先載入索引表,然後匹配,找到後,取出它的物理地址,此時,再從外存中載入大表中的該記錄,這種方法,人看的時候麻煩,但電腦可能就不那麼認為(具體還要看源表記錄的長度和數量)                 缺點:索引表需要占物理空間;當對源表操作時,也要維護索引表,是維護的任務加重了。   2、視圖         2-1、視圖的概述                 視圖由一張表或多張表的列數據組成的一張虛擬表,所謂虛擬表,就是該整體表在硬碟上不存在,其實,我們創建一個視圖,實際上是創建了一個經過包裝了的Select語句,在這裡我們稱為A,創建視圖,就是我們往硬碟存放了A,我們調用該視圖的時候,系統就會自動執行一遍A,然後,我們看見的就是一張表了。(這張表數據的改變時,基表變不變,那要看具體情況了,可以說明的是,我們可以通過虛擬表達到改變基表數據的目的)        2-2、視圖的優缺點                 優點:視圖可以限制我們對錶中一些數據的訪問,增加了數據的安全性;減少了重覆寫入T-SQL語句。                 缺點:複雜的視圖一般不能修改內容;能修改的視圖,也需要經過變化使該操作應用到基表中。   www.2cto.com   3、游標        3-1、游標的概述                資料庫管理系統為了對數據的管理更加高效,採用的是整塊數據進行管理操作,這個管理方式對於資料庫管理系統來說是非常的好的,但是,這種管理方式對於應用程式來說不好,因為我應用程式對於操作管理的數據是很少的,而且針對性也強,根據應用程式的這些特點,我們為了使應用程式更加的高效,我們創建了游標,游標就是為了完成對數據集中的數據經行更小單位的操作,也就是對記錄集中的數據的操作是按一條一條記錄經行的,所以呢,游標是由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成。游標是由管理多數據到少數據,操作不確定數據到確定性數據,對數據頂對性弱到針對性強的一種產物。       3-2、游標的優缺點               優點:應用程式可以應用游標對數據集經行指定行的操作。               缺點:使用不當會使運行效率更低。   4、存儲過程             4-1、存儲過程的概述                      存儲過程就是一個SQL語句集,當然,這個語句集可以完成特定的功能,存儲過程建立後,就先會經過編譯,然後,存放在硬碟上。            4-2、存儲過程的優缺點   www.2cto.com                       優點:一次編譯,多次執行,使用戶不用多次的書寫相同的SQL語句了,同時這些SQL語句也不用一直先編譯在執行了,節省了時間。                     缺點:簡單應用換可以,複雜的時候應用,就是變的複雜。   5、觸發器        5-1、觸發器的概述                 觸發器就是特殊的存儲過程,特殊在,觸發器不需要通過人為(例:在程式中調用)的操作來啟動它,觸發器的啟動是由事件(刪除、更新等)的執行來自動啟動的。       5-2、觸發器的優缺點                優點:是數據的安全性更強,例:通過觸發器可以取消刪除數據的操作。               缺點:維護數據的時候變得有些複雜。   轉載自http://www.2cto.com/database/201208/146199.html
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 0. 前言 在之前的章節中,大致介紹了C 中的一些基本概念。這篇我們將介紹一下C 的I/O操作,這將也是一個小連續劇。這是第一集,我們先來簡單瞭解一下C 中的I/O框架。 1. 什麼是I/O I/O 的全稱是input/output,翻譯過來就是輸入/輸出。對於一個系統或者電腦來說,鍵盤、U盤、網 ...
  • #include "ioCC2530.h" #define D3 P1_0#define D4 P1_1#define D5 P1_3#define D6 P1_4#define SW1 P1_2 unsigned char count_t = 0; //長定時累計變數unsigned char K ...
  • 一、編寫拆分腳本(splitNginxLog.sh) #!/bin/bash year=`date +%Y` month=`date +%m` day=`date +%d` # 原始日誌路徑 logs_path="/var/log/nginx/sitename.com/" # 日誌備份路徑 logs ...
  • 首先解釋一下 橋接模式:在該模式下,開啟的虛擬機相當於區域網中的一臺物理機,在該虛擬機開啟的服務,區域網的機器可以直接用 虛擬機ip + 埠直接訪問。 NAT模式:就是在宿主機內部的一臺虛機機,公用宿主機的網路。該虛擬機開啟的服務,宿主機可以通過 虛擬機ip + 埠直接訪問,但是區域網的機器無法 ...
  • [TOC] 前言 DDL DDL,中文為數據定義語言,DDL的特點是對資料庫內部的對象進行create(創建)、alter(修改)、drop(刪除)等操作,負責管理資料庫的基礎數據,不涉及對錶中內容的操作和更改。 DCL DCL,中文為數據控制語言,DDL的特點是對資料庫內部的對象grant(用戶授 ...
  • 當安裝alluxio時,出現允許打開的文件數目過小問題: The user limit for number of open files is too small. The current value is 4096. For production use, it should be bigger ...
  • [TOC] MySQL全庫備份腳本 ...
  • 本文主要介紹 COM 的基礎知識,傾向於理論性的理解,面向初學者,淺嘗輒止。 1. COM 是什麼: COM 的英文全稱是,Component Object Model,中文譯為,組件對象模型。它官方的概念是:The Microsoft Component Object Model (COM) is ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...