sql事务、视图和索引
生活随笔
收集整理的這篇文章主要介紹了
sql事务、视图和索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、事務:
?? 1.概念:是單個邏輯單元執行的一系列操作(一個事務中有多個sql語句),這個操作作為一個整體一起提交,要么執行,要么都不執行,多個事務操作是一個不可分割的邏輯單元。
?? 2.事務的特性:
???? (1)原子性(A):一個事務中的所有的操作不可再分割,保持原子性,他們要么都執行,要么都不執行。
???? (2)一致性(C):數據保持一致
???? (3)隔離性(I):并發事務(多個事務)之間相互獨立、隔離
???? (4)永久性(D):事務完成之后,數據永久有效
?? 3.事務的使用:
????? (1)開始事務 begin transaction(將一個業務的操作包含在開始事務中)
????? (2)提交事務 commit transaction(如果所有的事務都沒有錯誤,提交事務)
????? (3)回滾事務 rollback transaction(如果有一個錯誤的話,回滾事務)
?? 4.事務分類:
????? (1)顯示事務:用begin transaction 開始的事務,最常用的
????? (2)隱士事務:打開隱士事務之后,系統自動控制事務
????? (3)自動提交事務,用于單條sql語句中
二、視圖
?? 1.概念:是一個虛擬表,包含單個表的部分數據或多個表的總和數據組成的虛表,他的結構和數據是基于對數據表的查詢基礎上。
??? 注:(1)視圖不存儲數據,實際數據存儲在數據表中
??????? (2)一個數據庫表可以創建多個視圖
?? 2.視圖的作用:
??????? (1)篩選數據行
??????? (2)保護敏感數據
??????? (3)降低數據庫的復雜度
??????? (4)將多個物理數據庫抽象為一個邏輯數據庫
?? 3.創建視圖的注意事項:
??????? (1)select 語句不能包含order by
??????? (2)不能有into
??????? (3)不引用臨時表或表變量
? 4.創建視圖:
?????? create view 視圖名 as select 語句
? 5.刪除視圖: drop view 視圖名
三、索引
?? 1.索引的概念:數據庫中編排數據的內部方法
?? 2.索引頁的概念:數據庫存放索引數據的一種方式
?? 3.作用:提高數據庫的檢索速度,改善數據的性能 ?
?? 4.分類:
???? (1)唯一索引:不允許有重復的行數據,不允許為null
???? (2)主鍵索引:特殊的唯一索引,不允許有null
???? (3)聚集索引:索引順序和數據物理存放順序一致
???? (4)非聚集索引:索引順序和物理存放順序不一致
?? 5.創建索引的原則:
???? (1)在頻繁搜索的列上
???? (2)經常查詢的列
???? (3)經常排序和分組的列
???? (4)進行連接的列(主鍵和外鍵)
???? (5)在小字節的列上
?? 6.不推薦創建索引:
???? (1)只有少量幾個值得列上
???? (2)只有幾行數據的表上
???? (3)在大字段上
?? 7.使用索引的注意事項:
???? (1)查詢中盡量不要用*
???? (2)where后有多個條件的時候,有索引的放在前面
???? (3)order by后盡量不要用表達式
???? (4)定期的對索引頁進行碎片整理
?? 8.創建和刪除索引
???? create index 索引名 on 表名(列名)
????? drop index 表名.索引名
?? 1.概念:是單個邏輯單元執行的一系列操作(一個事務中有多個sql語句),這個操作作為一個整體一起提交,要么執行,要么都不執行,多個事務操作是一個不可分割的邏輯單元。
?? 2.事務的特性:
???? (1)原子性(A):一個事務中的所有的操作不可再分割,保持原子性,他們要么都執行,要么都不執行。
???? (2)一致性(C):數據保持一致
???? (3)隔離性(I):并發事務(多個事務)之間相互獨立、隔離
???? (4)永久性(D):事務完成之后,數據永久有效
?? 3.事務的使用:
????? (1)開始事務 begin transaction(將一個業務的操作包含在開始事務中)
????? (2)提交事務 commit transaction(如果所有的事務都沒有錯誤,提交事務)
????? (3)回滾事務 rollback transaction(如果有一個錯誤的話,回滾事務)
?? 4.事務分類:
????? (1)顯示事務:用begin transaction 開始的事務,最常用的
????? (2)隱士事務:打開隱士事務之后,系統自動控制事務
????? (3)自動提交事務,用于單條sql語句中
二、視圖
?? 1.概念:是一個虛擬表,包含單個表的部分數據或多個表的總和數據組成的虛表,他的結構和數據是基于對數據表的查詢基礎上。
??? 注:(1)視圖不存儲數據,實際數據存儲在數據表中
??????? (2)一個數據庫表可以創建多個視圖
?? 2.視圖的作用:
??????? (1)篩選數據行
??????? (2)保護敏感數據
??????? (3)降低數據庫的復雜度
??????? (4)將多個物理數據庫抽象為一個邏輯數據庫
?? 3.創建視圖的注意事項:
??????? (1)select 語句不能包含order by
??????? (2)不能有into
??????? (3)不引用臨時表或表變量
? 4.創建視圖:
?????? create view 視圖名 as select 語句
? 5.刪除視圖: drop view 視圖名
三、索引
?? 1.索引的概念:數據庫中編排數據的內部方法
?? 2.索引頁的概念:數據庫存放索引數據的一種方式
?? 3.作用:提高數據庫的檢索速度,改善數據的性能 ?
?? 4.分類:
???? (1)唯一索引:不允許有重復的行數據,不允許為null
???? (2)主鍵索引:特殊的唯一索引,不允許有null
???? (3)聚集索引:索引順序和數據物理存放順序一致
???? (4)非聚集索引:索引順序和物理存放順序不一致
?? 5.創建索引的原則:
???? (1)在頻繁搜索的列上
???? (2)經常查詢的列
???? (3)經常排序和分組的列
???? (4)進行連接的列(主鍵和外鍵)
???? (5)在小字節的列上
?? 6.不推薦創建索引:
???? (1)只有少量幾個值得列上
???? (2)只有幾行數據的表上
???? (3)在大字段上
?? 7.使用索引的注意事項:
???? (1)查詢中盡量不要用*
???? (2)where后有多個條件的時候,有索引的放在前面
???? (3)order by后盡量不要用表達式
???? (4)定期的對索引頁進行碎片整理
?? 8.創建和刪除索引
???? create index 索引名 on 表名(列名)
????? drop index 表名.索引名
總結
以上是生活随笔為你收集整理的sql事务、视图和索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 办公电脑,用什么配置?
- 下一篇: 办公计算机的装机配件?