mysql的簡單介紹
資料庫的內部鏈結
1)連線管理器:使用者或應用程式連線 2)分析器`3)快取區4)優化器:優化器執行的結果交由儲存引擎,再轉向物理層
表空間:
myisam每個表有三個檔案:frm (表結構); myd(表資料);myi(表索引)
innodb:所有表空間再乙個檔案
資料庫失敗的原因
1)此前的服務沒有關閉
2)資料庫初始化失敗
3)資料目錄位置有錯誤
4)資料目錄路許可權問題
併發控制
1)多版本併發控制:
並不直接在資料庫中修改,可以建立快照,使用者在快照上進行修改,並加以時間戳,最後合併到原資料
2)鎖:
讀:共享鎖
寫:獨佔鎖
mysql伺服器僅支援表級鎖,行鎖需要在儲存引擎完成
索引優點:加快資料的檢索速度
建立唯一性的索引,保證資料庫表的每一行的資料的唯一性
加速表和表的連線
缺點:索引需要物理空間
三種常用的索引:唯一索引,主健索引,和聚集索引
innodb引擎表是聚集索引組織,myisam引擎表則是堆組織表
【聚集索引】
聚集索引是一種索引組織形式,索引的健值邏輯順序決定了表資料行的物理儲存順序,而非聚集索引則就是普通的索引了,僅僅只是對資料列建立響應的索引,不影響整個表的物理儲存順序
innodb的行鎖
innodb的行鎖是通過索引上的索引項加鎖來實現的,這一點mysql與orace不同,後者是通過資料塊中對相應的資料加鎖來實現的。
innodb這種行鎖實現特點意味著,只有通過索引條件檢索資料,innodb才使用行級鎖,否則,innodb將使用表鎖
事務控制
mysql命令列的預設下,事務都是自動提交的,sql語句提交後馬上會執行commit操作,因此開始乙個事務必須使用begin,start,transaction,或者執行set autocommit=0
mysql5.5引入了哪些重要的特性
1)預設儲存引擎更改為innodb
2)多核效能上提公升
3)增加表分割槽功能
mysql索引簡單介紹
索引從本質上來說也是一種表,這樣的表儲存被列為索引的列項值和指向真正完整記錄的指標。索引對使用者透明。僅僅被資料庫引擎用來加速檢索真實記錄。有索引的表。insert和update操作會耗費很多其它時間而select則會變快。由於insert和update操作同一時候也要insert和update索引...
Mysql之索引的簡單介紹
幾乎所有的索引都是建立在字段之上 索引 系統根據某種演算法,將已有的資料 未來可能新增的資料 單獨建立乙個檔案 檔案能夠實現快速的匹配資料,並且能夠快速的找到對應表中的記錄 索引的意義 1.提公升查詢資料的效率 2.約束資料的有效性 唯一性等 增加索引的前提條件,索引本身就會產生索引檔案 有時候有可...
簡單介紹 mysql的儲存過程
sql 的儲存過程是對 sql 進行封裝,可以反覆利用。優點是清晰 安全,減少網路傳輸量。create table userinfo id bigint 20 not null auto increment,u name varchar 50 character set utf8mb4 collat...