02 mysql的邏輯結構 物理結構

2022-08-09 11:06:13 字數 1801 閱讀 5513

首先我們先看一下語句

我們最直**到的就是執行這條語句後產生的結果,是一張表,這張表其實起就是mysql中產生的邏輯結構,這些表是用庫來存放的

對於當前表來說,user表就是存放在mysql庫中

庫(database、schema),相當於linux檔案系統中的目錄的概念,庫中可以包含多張表

表:二維表

邏輯結構總結:

"""

庫 ----> 表

|元資料 + 資料行

|列 + 其他屬性(行數,占用空間大小,許可權)

|列名 + 資料型別 + 其他約束(非空\唯一\主鍵\非負數\自增長\預設值)

1、對於mysql來說,mysql的最底層是資料檔案(這三個檔案),也就是儲存引擎打交道的是物件是資料檔案。下一層是作業系統,下一層是磁碟,磁軌、扇區、顆粒

2、儲存引擎分為了很多種類

3、不同儲存引擎區別:儲存方式、安全性、效能

myisam:

-rw-rw----. 1 mysql mysql  10684 9月  24 17:51user.frm

-rw-rw----. 1 mysql mysql 628 9月 24 18:29user.myd

-rw-rw----. 1 mysql mysql 2048 9月 24 18:38 user.myi

"""

user.frm: 稱為表的結構資訊,結構資訊就是列屬性的一部分

user.myd: 行記錄,真實資料

user.myi: 索引

"""

innodb:

-rw-rw----. 1 mysql mysql     8586 9月  24 18:29kkk.frm

-rw-rw----. 1 mysql mysql 98304 9月 24 18:38 kkk.ibd

"""

kkk.frm: 表結構

kkk.ibd: 表資料

對於mysql層來說,aaa.ibd檔案就是mysql的最底層

對於作業系統來說,aaa.ibd檔案就是邏輯層面的概念,檔案系統對於作業系統來說就是最底層

對於硬體來講,block塊(檔案系統)是邏輯概念,對於它自己來講,柱面\扇區\磁軌是邏輯層,真正儲存在磁軌上可磁化的金屬顆粒

"""

1、段、區、塊

mysql是要把表記錄存在ibd上,但是沒有辦法直接用ibd

頁:mysql儲存的最小單元,頁的大小為16k,類似於block

將乙個ibd檔案劃分為多個頁

如果10條記錄需要兩個頁儲存,那麼追加10行,還需要2頁,因為都是操作的一張表,應該讓這四頁順序的,但是中間有其他操作,現在前兩個頁和後兩個頁不是順序的了,怎麼辦?

如果第一次需要兩個頁,mysql在分配時,會一次性多分配些,構成乙個區。

區: 也就是連續的多個頁,就是乙個區

段: 段就是多個區,可以理解為一張表

mongodb初級學習之邏輯結構和物理結構

前面些了怎麼安裝,那麼安裝好以後就可以對mongodb進行一些初級的認識。mongodb也分邏輯結構和物理結構,那麼這裡先介紹下邏輯結構 1 邏輯結構主要由database collection document組成,這裡是層次結構。2 多個文件組成集合,多個集合組成資料庫,多個資料庫組成mongo...

02MySQL中的資料型別

一 數值 intdecimal 準確的小數值 float double 二 字串型別 char m 此資料型別用於表示固定長度的字串,可以包含最多達255個字元,其中m代表字串的長度。長度固定,查詢的時候就比較快。定長,簡單粗暴,浪費空間,訪問速度快。varchar m 此資料型別用於可變長的字串,...

番外02 MySQL的資料型別

型別大小 範圍 有符號 範圍 無符號 用途tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位元組 32 768,32 767 0,65 535 大整數值 mediumint 3 位元組 8 388 608,8 388 607 0,16 777 215 大整數值...