首頁 > 軟體

MySQL事務檢視索引備份和恢復概念介紹

2022-09-26 14:06:25

一、事務

事務(TRANSACTION)是一種機制、一個操作序列,包含了一組資料庫操作命令,並且把所有的命令作為一個整體一起向系統提交或復原操作請求,即這一組資料庫操作命令要麼都執行,要麼都不執行。

事務是一個不可分割的工作邏輯單元 。

二、事務的特性

事務必須具備以下四個屬性,簡稱ACID 屬性

原子性(Atomicity)

事務的各步操作是不可分的(原子的),要麼都執行,要麼都不執行

一致性(Consistency)

當事務完成時,資料必須處於一致狀態

隔離性(Isolation)

並行事務之間彼此隔離、獨立,它不應以任何方式依賴於或影響其他事務

永續性(Durability)

事務完成後,它對資料庫的修改被永久保持

三、MySQL事務處理

MySQL中支援事務的儲存引擎有InnoDB和BDB。

方法1:用 BEGIN, COMMIT,ROLLBACK來實現。

  • BEGIN ; #開始事務,顯式地標記一個事務的起始點
  • COMMIT ; #提交事務,標誌一個事務成功提交。
  • ROLLBACK; #回滾事務,清除自事務起始點至該語句所做的所有資料更新,將資料狀態回滾到事務開始前,並釋放由事務控制的資源。

方法2:直接用 SET 來改變 MySQL 的自動提交模式。

預設情況下,每條單獨的SQL語句視為一個事務 關閉預設提交狀態後,可手動開啟、關閉事務

  • SET autocommit = 0|1;
  • 值為0:關閉自動提交
  • 值為1:開啟自動提交

四、檢視

檢視是一張虛擬表,表示一張表的部分資料或多張表的綜合資料。

其結構和資料是建立在對錶的查詢基礎上

檢視中不存放資料,資料存放在檢視所參照的原始表中

一個原始表,根據不同使用者的不同需求,可以建立不同的檢視。

檢視的用途:

篩選表中的行

防止未經許可的使用者存取敏感資料

將多個物理資料庫表抽象為一個邏輯資料庫表

五、管理檢視

1、使用SQL語句建立檢視

CREATE VIEW view_name AS <SELECT 語句>;

2、使用SQL語句檢視檢視

SELECT 欄位1, 欄位2, …… FROM view_name;

3、使用SQL語句刪除檢視

DROP VIEW [IF EXISTS] view_name;

使用檢視的注意事項:

  • 檢視中可以使用多個表
  • 一個檢視可以巢狀另一個檢視
  • 對檢視資料進行新增、更新和刪除操作直接影響所參照表中的資料
  • 當檢視資料來自多個表時,不允許新增和刪除資料

使用檢視修改資料會有許多限制,一般在實際開發中檢視僅用作查詢

六、索引

索引是一種有效組合資料的方式,為快速查詢到指定記錄。

作用:

大大提高資料庫的檢索速度

改善資料庫效能

MySQL索引按儲存型別分類:

B-樹索引:InnoDB、MyISAM均支援

雜湊索引

七、常見索引型別

八、管理索引

使用SQL語句建立索引

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
ON table_name (column_name[length]…);

使用SQL語句刪除檢視

DROP INDEX index_name ON table_name;

九,建立索引的指導原則

按照下列標準選擇建立索引的列:

頻繁搜尋的列

經常用作查詢選擇的列

經常排序、分組的列

經常用作連線的列(主鍵/外來鍵)

請不要使用下面的列建立索引:

僅包含幾個不同值的列

表中僅包含幾行

十,優化SQL語句的意識

  • 查詢時減少使用*返回全部列,不要返回不需要的列;
  • 索引應該儘量小,在位元組數小的列上建立索引;
  • WHERE子句中有多個條件表示式時,包含索引列的表示式應置於其他條件表示式之前;
  • 避免在ORDER BY子句中使用表示式。
  • 根據業務資料發生頻率,定期重新生成或重新組織索引,進行碎片整理。

到此這篇關於MySQL事務檢視索引備份和恢復概念介紹的文章就介紹到這了,更多相關MySQL事務管理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com