MySQL概述及入門 二

2022-09-01 17:36:14 字數 4001 閱讀 8709

邏輯架構圖:

執行流程圖:

查詢資料庫支援的儲存引擎

執行:show engines;

多儲存引擎是mysql有別於其他資料庫的一大特性,儲存引擎是針對表的,mysql 5.5之後,預設的儲存引擎由myisam變為innodb。

innodb 引擎:支援auto_increment(自增列),支援外來鍵(foreign key),建立的表的表結構儲存在.frm檔案中,優勢在於提供了良好的事務處理、崩潰修復能力和併發控制。缺點是讀寫效率較差,占用的資料空間相對較大。

myisam 引擎:曾經是mysql的預設儲存引擎,優勢在於占用空間小,處理速度快。缺點是不支援事務的完整性和併發性。

日誌重新整理 :mysql> flush logs;

shell> mysqladmin flush-logs

shell> mysqladmin refresh

錯誤日誌 :預設是開啟的,而且從5.5.7版本以後無法關閉錯誤日誌,它記錄了mariadb/mysql服務啟動和停止的資訊,還記錄了mysqld例項執行過程中發生的錯誤事件資訊。

預設的錯誤日誌名稱:hostname.err , hostname表示當前的主機名

如果不知道錯誤日誌的位置,可以通過  show variables

like

'log_error';

來檢視。

錯誤日誌所記錄的資訊是可以通過log-error和log-warnings來定義的,其中log-error是定義是否啟用錯誤日誌的功能和錯誤日誌的儲存位置,log-warnings是定義是否將警告資訊也定義至錯誤日誌中。

二進位制日誌 :以事件形式記錄的,不是事務日誌(但可能是基於事務來記錄二進位制日誌)預設是關閉的,需要通過配置:log-bin=mysql-bin進行開啟。

其中mysql-bin是binlog日誌檔案的basename,binlog日誌檔案的名稱:mysql-bin-000001.log

binlog記錄了資料庫所有的ddl語句和dml語句,但不包括select語句內容

binlog還包括了每個更新語句的執行時間資訊,binlog主要作用是用於恢復資料,因此binlog對於s災難恢復和備份恢復來說至關重要。

查詢日誌 :預設情況下查詢日誌是關閉的。由於查詢日誌會記錄使用者的所有操作,其中還包含增刪查改等資訊,會影響mysql的效能

如若不是為了除錯資料庫的目的建議不要開啟查詢日誌。

慢查詢日誌 :預設關閉的,需要通過設定:slow_query_log=on進行開啟

記錄執行時間超過long_query_time秒的所有查詢,便於收集查詢時間比較長的sql語句

事務日誌(redo log) :    innodb特有的日誌 , 也叫redo日誌。

事務日誌包括兩部分:一是記憶體中的日誌緩衝(redo log buffer),該部分日誌是易失性的;二是磁碟上的重做日誌檔案(redo log file),該部分日誌是持久的。

檔名為"ib_logfile0"和「ib_logfile1」,預設存放在表空間所在目錄。 還有乙個日誌檔案叫undo 日誌,預設儲存在ib_data目錄下。

為什麼使用索引 : 1 .使用索引的主要目的是為了優化查詢速度

2.索引可以幫助我們進行排序以避免以避免使用臨時表

3.保證資料的準確性

什麼是索引 : 通俗解釋 索引就像是圖書的目錄,根據目錄中的頁碼快速找到所需內容。

索引的型別:

單列索引:

普通索引:僅加速查詢 最基本的索引,沒有任何限制,允許在定義索引的列中插入重複值和空值,是我們大多數情況下使用到的索引。

唯一索引:索引列中的值必須是唯一的,但是允許為空值,

主鍵索引:是一種特殊的唯一索引,不允許有空值。

組合索引: 將幾個列作為一條索引進行檢索,使用組合索引時遵循最左字首集合。

全文索引: 全文索引(fulltext)僅可以適用於myisam引擎的資料表;作用於char、varchar、text資料型別的列。

索引的使用:

建立索引:

createindexindex_nameontable(column(length))

alter table table_name add index index_name on (column(length))

create uniqueindexindex_nameontable(column(length))

create fulltextindexindex_nameontable(column(length))

alter table article add index index_titme_time(title(50),time(10))

刪除索引:

drop index_name on healerjean;

alter table users drop index name_index ;

檢視索引:

show index from healerjean;

索引的儲存結構

概述mysql MySQL概述及入門 二

mysql概述及入門 二 mysql架構 邏輯架構圖 執行流程圖 mysql的儲存引擎 查詢資料庫支援的儲存引擎 執行 show engines 多儲存引擎是mysql有別於其他資料庫的一大特性,儲存引擎是針對表的,mysql 5.5之後,預設的儲存引擎由myisam變為innodb。innodb ...

Vue概述及入門

宣告式渲染 元件系統 客戶端路由 集中式狀態管理 專案構建 需要提供標籤用於填充資料 引入vue.js庫檔案 可以使用vue的語法做功能 把vue提供的資料填充到標籤 div div var vm newvue script body 引數分析 el 元素的掛載 關聯 位置 可以是css選擇器或者d...

MySQL 資料庫概述及其入門語句

連線資料庫 如何連線伺服器 使用者名稱 密碼 命令 mysql h localhost u uersname ppassword h 如果不寫,則預設連線localhost,命令可以這樣寫 mysql u uersname ppassword 入門語句 1 檢視當前伺服器下面有哪些庫 databas...