視圖、事務、索引

来源:http://www.cnblogs.com/wangzheand/archive/2016/01/17/5137304.html
-Advertisement-
Play Games

事務 什麼是事務? 事務是將一個或多個T-SQL語句封裝成一個可執行單元交給SQL Server引擎執行,要麼所有語句執行成功,要麼所有語句執行失敗不存在某一條語句執行成功而其它語句為執行成功的現象! 事物的四個要素 原子性(atomicity):食物是一個完整的操作,事物的素是不可分的(原子的)。...


事務

什麼是事務?

      事務是將一個或多個T-SQL語句封裝成一個可執行單元交給SQL Server引擎執行,要麼所有語句執行成功,要麼所有語句執行失敗不存在某一條語句執行成功而其它語句為執行成功的現象!

事物的四個要素

     原子性(atomicity):食物是一個完整的操作,事物的素是不可分的(原子的)。事務中的所有元素必須作為一個整體提交或回滾。如果事務中的任何元素失敗則整個事務失敗

     一致性(consistency):當事務完成是,數據必須處於一致狀態,也就是說事務不能使數據處於不穩定狀態

     隔離性(isolation):對數據進行修改所有併發事務是彼此隔離的,這表明事務必須是獨立的。不應以任何方式依賴或影響其他事務

     持久性(durability):事務的持久性值不管系統是否發生故障,事務處理的結果都是永久保存的

執行事務的語法:

開始事務:

                      begin transaction

回滾撤銷事務:

                      rollback transaction

提交事務:

                      commit transaction

視圖

視圖是保存在資料庫上的select查詢。使用視圖的原因有兩種:

  1. 出於安全考慮,用戶不必看到整個資料庫的結構,而隱藏部分數據
  2. 符合用戶的日常業務邏輯,使他們對數據更容易理解

什麼是視圖?

視圖是另一種查看資料庫中一個表或多個表中數據的方法,視圖是一個虛擬表視圖保存的並不是數據值。而是引用表的sql語句

創建視圖的語法

create  view  view_name

as

      <select語句>

刪除視圖的語法

drop view view_name

查看視圖的語法

select col_name1,……,col_namen from view_name

索引

什麼是索引?

索引是某個表中一列或若幹列值的集合相應的指向表中物理表示這些值的數據頁的邏輯指針清單

索引是SQL Server 編排數據的內部方法,是檢索表中數據的直接通道

索引的作用是通過索引,大大提高資料庫的檢索速度,改善資料庫的性能

索引分類

唯一索引:唯一索引不允許兩行具有相同的索引值(創建了唯一索引將自動創建唯一索引)

主鍵索引:在資料庫關係圖中創建某列為主鍵則自動創建主鍵索引,主鍵索引是唯一索引的特殊形態

聚集索引:在聚集索引中,表中的各行的物理順序與鍵值的邏輯順序(索引)相同(如果表中將某列設置主鍵則改列將自動被提升為聚集索引(該表中事先沒有聚集索引))一個表中只能包含一個聚集索引

非聚集索引:非聚集索引建立在索引頁上,當查詢數據時可以從索引中找到記錄存放的位置(非聚集索引是表中各行數據存放的物理順序與鍵值的邏輯順序不匹配聚集索引比非聚集索引有更快的訪問速度。)

符合索引:在創建索引時將多個列組合作為索引,這種索引稱為複合索引(只有用到複合索引的第一列或整個複合索引列作為檢索條件時才會用到複合索引)

全文索引:全文索引是一種特殊類型的基於標記的功能性索引,由SQL Server中全文索引服務創建和維護

創建索引的語法

create  unique clustered | nonclustered index  index_name

on table_name (column_name)[,column_name]……)

with  fillfactor=x

其中:

unique:指定唯一索引

clustered、nonclustered:指定是聚集索引還是非聚集索引

fillfactor:表示填充因數,指定0~100的值,如指定填充因數的值為80,表示每個葉級頁上將有20%的空間保留為空,以便隨著在基礎表中添加數據而為擴展索引提供空間

刪除索引的語法

drop index table_name.index_name

註意:刪除表示將刪除表中的所有索引

           如果要刪除所有索引應先刪除非聚集索引,再刪除聚集索引。

對索引的一些個人理解如有異議請提醒改正

索引實際上就是查詢數據的一種依據方法。索引類型的不同在查詢數據是所依據的方法也就不同。不同的索引類型之間並沒有太過緊密(直接)的關聯!!!


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

-Advertisement-
Play Games
更多相關文章
  • 我自己做了一個網站,使用的是bootstrap技術作為設計界面,但是使用360瀏覽器的時候,出現了圖片不相容的問題,總的來說是網頁出現了不相容的問題。我的網站解決方法:在頁面中加入了一個meta的標簽就把問題解決了。
  • 1、文件上傳(input標簽)(1)html代碼(form表單用post方法提交)1 2 3 4 表格5 6 (2)jq提交表單到後臺 1 $("#submitForm").click(function(){ 2 //alert($("#SelectBus").val())...
  • 一、下載依賴包網盤下載:https://yunpan.cn/cryvgGGAQ3DSW 訪問密碼 f224二、 添加一個另外一個插件jquery.validate.messages_cn.js。改變預設提示方式。/* * Translated default messages for the jQu...
  • 一、調整LaunchPad的圖標顯示列數和行數1、調整每一列顯示圖標數量。在我的電腦上(1366 * 768),每列7個個人覺得比較不錯 defaults write com.apple.dock springboard-rows -int 72、調整每一行顯示圖標數量,這裡我用的是6 defa.....
  • 【錯誤信息】[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement![2011-01-19 16:39:10 - ApiDemos] Device API vers...
  • 在windows安裝Android的開發環境不簡單也說不上算複雜,本文寫給第一次想在自己Windows上建立Android開發環境投入Android浪潮的朋友們,為了確保大家能順利完成開發環境的搭建,文章寫的儘量詳細,希望對準備進入Android開發的朋友有幫助。本教程將分為五個步驟來完成Andro...
  • Android項目的目錄結構 src:項目代碼 R.java:項目中所有資源文件的資源id Android.jar:Android的jar包,導入此包方可使用Android的api libs:存放第三方jar包 assets:存資源文件夾,存放視頻或者音樂等較大的資源文件 bin:存放編譯打包後的....
  • 一、什麼是事件一組SQL集,用來執行定時任務,跟觸發器很像,都是被動執行的,事件是因為時間到了觸發執行,而觸發器是因為某件事件(增刪改)觸發執行;二、開啟事件查看是否開啟:show variables like 'event_scheduler';如果顯示OFF,則輸入以下語句開啟:set glob...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...