資料庫整理2

2021-10-10 04:31:14 字數 2171 閱讀 4269

mysql

外掛程式式儲存引擎的資料庫

儲存引擎:   儲存方式 [磁碟]

1.myisam

不支援外來鍵,不支援事務

支援全文索引,底層用b+樹;

支援表鎖;

2.innodb

支援外來鍵,支援事務;

不支援全文索引,底層用b+樹;

支援行鎖;

3.memory

資料存在記憶體上,讀寫效率高,適合儲存臨時表資料;/*不考慮資料安全*/[從幾個表中拼接出來的臨時表];

支援索引,底層雜湊索引;

varchar == char;

不支援text、bolb型別字段;

[文字] 太大佔記憶體空間;

4.archive

歸檔儲存引擎 1:10 的預設比例進行壓縮後儲存;

適用資料量大、查詢少的資料。

日誌資料: 記錄整個執行過程中的每乙個操作,無論正常異常操作。

//只支援 insert select 操作;

//索引

1.資料結構

2.全文索引 索引的一種方式,根據該索引建立欄位的屬性劃分;

//事務

一組sql語句的集合

四個原則

a 原子性 要麼全部執行成功,要麼全部執行失敗;

c 一致性 保證完整性約束;

i 隔離性 消除事物之間的相互影響;

d 永續性 事務執行的結果在磁碟上永久儲存;

//鎖機制

表鎖 鎖定整張表

行鎖 鎖定整行

1.myisam  資料和索引分離開來設計、   0非聚集索引

b+樹; (搜尋樹、多路排序樹)

《葉結點放資料位址》

// create index index_1 on student(id);

建立表更改儲存引擎

create table student

( id int primary key,

name varchar(15) not null,

age int default 18

)engine = myisam;

explain select * from stu where id = 6; √ 使用索引

explain select * from stu where name = "lisi"; ×

2.innodb 索引當場資料一部分儲存、 0聚集索引 資料相對集中

b+樹;

《葉結點放資料》

資料的儲存依賴索引;但

create table stu(id,name,***,age);

insert into ()()()(); 預設為innodb,但沒有設定索引,仍可以插入資料成功;

系統建立索引的規則:

1.查詢是否存在主鍵,存在即建立主鍵索引;

2.查詢是否存在唯一鍵,存在即建立唯一索引;

3.如果上述都沒有,系統新增隱藏字段(6個位元組)建立索引;

隱藏字段看不見如何插入資料?auto_increment 新增資料會自動+1;

在innodb中儲存資料的索引主索引,主索引不允許關鍵字重複;

輔助索引是在葉結點不儲存資料,儲存主索引的索引值; 輔助索引查詢 2 次,先查詢輔助索引,然後找到主索引,再查詢相對應的資料;

索引的優化; 《空間換時間》

1.那種情況建立索引

1)經常被查詢的字段

2)用於主鍵字段

3)用於連線的字段 比如 學生資訊表 成績表 的 id 字段,提供多表查詢的查詢效率

4)範圍查詢

5)經常用於排序處理的字段

6)經常用來 where 過濾的字段

2.那種情況不應該建立索引

1)不經常用於查詢的字段

2)數值較少的字段 比如 性別字段

3)數值較多,資料量大的字段 比如 bolb型別或者text型別字段

4)修改操作大於查詢操作的字段

索引的分類:

1.普通索引 基於普通字段建立 索引的注意事項:

1)索引項不會包含null值;

2)使用短索引;

3)索引列排序;

4)like操作

第乙個字母是通匹,不會用到索引

5)不要在索引項上進行計算;

Exchange資料庫整理

要進行離線碎片整理的話只需要將資料庫置於離線狀態並執行eseutil命令,並且加上引數 d即可。在exchange2000中,eseutil程式在exchange 2000的安裝光碟的 support utils目錄下。而在exchange 2003中,安裝程式會自動將eseutil安裝至伺服器硬碟...

mysql資料庫整理

mysql做分頁查詢 1 select from tablename limit 5,10 檢索記錄行6 10 2 為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 1 select from tablename limit 10,1 檢索記錄行11到末尾 3 如果只給定乙個引...

資料庫鎖整理

在了解資料庫索引之前,首先了解一下資料庫索引的資料結構基礎,b tree b tree是乙個n叉樹,每個節點有多個葉子節點,一顆b 樹包含根節點,內部節點,葉子節點。根節點可能是乙個葉子節點,也可能是乙個包含兩個或兩個以上葉子節點的節點。b tree的性質 n棵子tree的節點包含n個關鍵字,不用來...