總結(1) 資料庫

2022-07-16 22:33:16 字數 1618 閱讀 2635

一、mysql 資料庫儲存的原理

儲存過程中是乙個可程式設計的函式,它在資料庫中建立並儲存。 它可以有sql語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的函式,或者封裝特定功能時,儲存過程是非常有用的。資料庫中的儲存過程可以看做是對程式設計中物件導向方法的模擬。它允許控制資料的訪問方式。儲存過程通常有以下優點:

1. 儲存過程能實現較快的執行速度

2.儲存過程允許標準元件是程式設計

3.儲存過程可以用流程控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的運算

4.儲存過程可被作為一種安全機制來充分利用

5.儲存過程能夠減少網路流量

二、事務的特性

1. 原子性(atomicity): 事務中的全部操作在資料庫中是不可分割的,要麼全部完成,要麼均不執行。

2.一致性(consistency): 幾個並行執行的事務,其執行結果必須與按某一順序序列執行的結果相一致。

3.隔離性(isolation): 事務的執行不受其他事務的干擾,事務執行的中間結果對其他事務必須是透明的。

4.永續性(durability):對於任意已提交事務,系統必須保證該事務對資料庫的改變不被丟失,即使資料庫出現故障

資料庫索引

資料庫索引,是資料庫管理系統中的乙個排序的資料結構,以協助快速查詢、更新資料庫表中資料。索引的實現通常使用b_tree。b_tree索引加速了資料訪問,因為引擎不會去掃瞄整張表得到需要的資料;相反,它從根節點開始,根節點儲存了子節點的指標,儲存引擎會根據指標快速尋找資料。

四、資料庫優化查詢

1.儲存引擎選擇:如果資料表需要事務處理,應該考慮使用inndb,因為它完全符合acid(原子性、一致性、隔離性、永續性)特性。如果不需要事務處理,使用預設儲存引擎myisam 是比較明智的

2. 分表分庫, 主從。

3. 對查詢進行優化,要盡量避免全表掃瞄。首先應考慮在where 及order by涉及的列上建立索引

4. 應該盡量避免在where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄

5.應該盡量避免where子句中使用 != 或 <> 操作符,否則將引擎放棄使用索引而進行全表掃瞄

6. 應該盡量避免在where 子句中使用 or 來連線條件,如果乙個欄位有索引,乙個字段沒有索引,將導致引擎放棄使用索引而進行全表掃瞄

7. update 語句,如果只更改1、2個字段,不要update全部字段,否則頻繁呼叫會引起明顯的效能消耗,同時帶來大量日誌

8. 對於多張大資料量(這裡幾百條就算大了)的表join,要分頁再join,否則邏輯讀會很高,效能很差。

五、資料庫優化方案

六、mysql集群的優缺點

優點:

缺點七、mysql引擎,各引擎之間區別

主要myisam 與innodb 兩個引擎,其只要區別如下:

資料庫 Mysql總結(1)

1.約束 作用 為了保證資料的有效性和完整性 mysql中常用的約束 主鍵約束 primary key 唯一約束 unique 非空約束 not null 外來鍵約束 foreign key 1 主鍵約束 被修飾過的字段唯一非空 注意 一張表只能有乙個主鍵,這個主鍵可以包含多個字段 方式1 建表的同...

資料庫 1 初始 資料庫

alpha版 一般只在開發公司內部使用,不對外公開,測試 自我檢查的版本 beta版 一般是開發完也測試完的版本,一般不會出現比較大的效能bug 一般我們不用,阿里 去哪兒會使用這個版本,有些新功能,內部有高手能調,也能評估新功能的效能 rc版 根據beta版測試之後收集到一些bug等在進行完善的乙...

MySQL資料庫總結(1)入門語句

把以前總結在有道雲筆記的知識移到部落格上,順便複習一下 伺服器位址 可用ip,網域名稱 埠 3306 使用者名稱 密碼 mysql h localhost uusername ppasswd mysql h localhost u root p 回車 輸入密碼 h 如果不寫,則預設連localhos...