《高效能MySQL》閱讀 MySQL中的事務

2021-10-14 13:02:26 字數 1415 閱讀 6889

20210107 22:00-23:00

承接:《高效能mysql》閱讀 mysql架構和歷史 一、

【一頁書】詩號:

世事如棋,乾坤莫測,笑盡英雄啊!

9. mysql中的事務

1. mysql中提供了兩種事務型擎innodb和ndbcluster,

2. mysql預設是自動提交事務的,就是如果不是顯示的開始乙個事務,則每個查詢都能被當做乙個事務執行提交操作

2. 自動提交設定 : show variables like 「autocommit」;on為開,off為關

3. set autocommit = 1 ;設定自動提交==1或者on為開,0或者off為關閉

10. 多版本併發控制(mvcc)

1. 可以認為mvcc是行級鎖的乙個變種,但是它在很多情況下避免了加鎖因此開銷更低;mvcc的實現,是通過儲存資料在某個時間點的快照來實現的;

2. innodb的mvcc,是通過在每行記錄後面儲存兩個隱藏的列來實現;這兩個列,乙個儲存了行的建立時間,乙個儲存了行的過期時間(或刪除時間)-是系統的版本號。每開始乙個新的事務,系統版本號都會自動遞增

11. 儲存引擎檢視

1. 查詢表相關資訊:show table status like 「user」 \g;[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-izmpcd2l-1610395079556)(

1. name: 表名;

3. engine:表的儲存引擎

4. row_format:行的格式

5. rows:表中的行數

6. aug_row_length:平均每行包含的位元組數

7. data_length:表資料的大小(以位元組為單位)

8. max_data_length:表資料的最大容量,該值和儲存引擎有關

9. index_length:索引的大小(以位元組為單位)

10. data_free:表示已經分配,但是目前沒有使用的空間

11. auto_increment:下乙個auto_increment

12. create_time:表的建立時間

13. update_time:表資料的最後更新時間

14. check_tiem:使用ckeck table命令或者myisamchk工具最後一次檢查表的時間

15. collation:表的預設字符集和字元列排序規則

16. checksum:如果啟用,儲存的是整個表的實時校驗和

17. create_options:建立表時指定的其他選項

18. comment:其他資訊-備註等

高效能mysql 樹 高效能mysql精要

1 explain 中 extra using index 表示覆蓋索引,sql優化中最好能使用覆蓋索引,否則 二級索引 需要回表查詢。所謂覆蓋索引,是指要查詢的列正好是索引,而條件也是這個索引之一 2 where 語句中 條件等於主鍵的 在核心索引層完成,條件等於非索引的,在服務層完成 3 讀索引...

mysql高效能索引 mysql高效能索引( )

在開發中,我們知道大多數應用的瓶頸在於sql語句的執行時耗,在這裡並不討論sql語句的安全,僅僅討論高效能sql語句,而與高效能sql語句緊密相連的就是傳說中的 索引。索引 一種工作在儲存引擎端的用於快速找到記錄的一種資料結構。mysql使用索引的方式是 先找到索引的值,再根據索引的值找到資料行。索...

高效能MYSQL(複製)

複製概述 複製解決的基本問題是讓乙個伺服器的資料與其他伺服器保持同步。一台主庫的資料可以同步到多台備庫上,備庫本身也可以被配置成另外一台伺服器的主庫。複製方法 基於行的複製 基於語句的複製。實現 在主庫上記錄二進位制日誌,在備庫重放日誌的方式來實現非同步資料複製。會出現資料不一致,並且無法保證主備之...