mysql基礎概念相關的名詞還是挺多的,比如3大正規化、4種隔離界別、acid、dql、dml、ddl,還有redo、undo、binlog等,本文就統一整理下mysql常見的基礎概念,方便小夥伴們翻閱~
三大正規化注意,三大正規化是資料表的建議設計原則,並不是非得完全按照這個來設計,具體設計還要根據實際場景來分析。任何給定的資料通常有多種表示方法,完全的正規化話和反正規化化,以及二者的折中。在正規化化資料庫中,任何資料都會出現且只出現一次,相反在反正規化化中,資料是冗餘的。
acidacid是事務的4個特性,分別是原子性、一致性、隔離性和永續性。
隔離級別資料庫事務的4種隔離級別:
幻讀問題幻讀就是當事務在讀取某個範圍資料時,另乙個事務又在該範圍插入了新的資料,當之前的事務再次讀取該範圍資料時,就會產生幻行。產生幻讀的原因是之前的事務在讀取資料的範圍沒有增加範圍鎖(range-locks),也就是讀取時只是鎖定的行級共享鎖,沒有鎖定整個查詢區間或者表。
常見索引結構
聚集索引和非聚集索引聚集索引就是主鍵索引,其葉子節點就是記錄的資料(頁)。非聚集索引也叫做輔助索引,其葉子結點記錄的是主鍵值。以表t為例說明如下:
create table t (
id int primary key,
k int not null default 0,
s varchar(16) not null default '',
index k(k)) engine=innodb;
insert into t values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5,'ee'),(600,6,'ff');
表t對應的主鍵索引和輔助索引如下:
幾個日誌
幾個檔案
Golang基礎知多少
變數常量 運算子控制語句 首先,go語言中的 結構做乙個概覽 所屬包 package main 匯入依賴包 import fmt 宣告常量 const filename abc.txt 宣告全域性變數 var a string hello 型別宣告 type myint int 宣告結構體 type...
MySQL儲存引擎知多少
mysql是我們經常使用的資料庫處理系統 dbms 不知小夥伴們有沒有注意過其中的 儲存引擎 storage engine 呢?有時候面試題中也會問道mysql幾種常用的儲存引擎的區別。這次就簡短侃一下儲存引擎那些事兒。先去查一下 引擎 概念。引擎 engine 是電子平台上開發程式或系統的核心元件...
mysql觸發器知多少
很多人都能熟練使用觸發器來達到輔助業務處理的功能。但真正了解觸發器嗎?下面就簡單介紹幾個我自己親自使用觸發器的經驗,相信對一些新手是有所幫助的 1.load data 也會觸發insert 觸發器。2.replace會觸發delete 和 insert 觸發器。3.觸發器中執行的插入或者刪除動作不會...