mysql優化 1。之概述

2021-09-26 09:29:24 字數 1476 閱讀 9206

設計: 儲存引擎,字段型別,正規化。

功能: 索引,快取,分割槽。

架構:主從複製,讀寫分離,負載均衡。

合理的sql:測試和經驗。

表引擎--某一種資料的儲存格式。一般叫某一種檔案系統。

一般用到四種引擎innodbmyisam ,archive , memory

innodb:事務(多條sql語句全部執行完畢。才算完成操作),外來鍵約束,資料的完整性(可通過binlogo入職恢復資料),擅長併發處理,行級鎖定(逐個完成該行的操作。需排隊)。表鎖定(逐個完成該錶的操作。需排隊),mvcc特性(多版本併發控制,效果達到無阻塞讀操作)。(5.6以上的innodb也支援全文索引)

myisam:支援全文索引。資料壓縮儲存,高速查詢及插入,不會阻塞讀寫操作。

archive:存檔型,一般用於日誌,僅提供插入和查詢操作。非常高效,無阻塞的插入和查詢。

memory:記憶體型,資料儲存於記憶體中,儲存引擎。快取型儲存引擎。

常用的兩種引擎 innodb 和myisam

盡可能的小(占用儲存空間少)

tinyint,smallint, mediumint, int , bigint, varchar(n), varchar(m), datetime, timestamp.

盡可能的定長(占用儲存空間固定)

char, varchar, decimal(變長), double(float)(定長)。

盡可能使用整數

ipv4, int , unsigned, varchar(15), enum

例如在寫好的規範式電商專案裡。 商品表裡已經有了商品的數量。而我們需要頻繁的用到商品數量。 這個時候我們可以在需要的表裡面增加商品數量的字段。當我們在次需要商品數量的時候。可以不用到聯查。 這個就叫做逆正規化。

提示。 這是一種優化的。 方案。 除非你對專案特別的熟悉 。不然的話請慎用 。 維護起來會有一定的麻煩。

explain執行計畫:可以在通過select語句前,使用explain。來獲取該查詢語句的執行計畫。

4種索引:主鍵索引,普通索引,唯一索引,全文索引。

約束不是索引。 約束(一種限制,約束)依賴於索引(關鍵字。匹配)

什麼場景使用呢?

1.索引檢索,用於條件過濾

2.索引排序,用於orde bay排序

3.索引覆蓋,在已查詢出來的基礎上繼續查詢拼接覆蓋

mysql優化概述

設計 儲存引擎的選擇,字段型別,正規化 功能 索引,快取,分割槽 架構 主從複製,讀寫分離,負載均衡 合理sql 測試,經驗。一 儲存引擎的選擇 用來儲存mysql中物件 記錄和索引 的一種特定的結構 檔案結構 儲存引擎,處於mysql伺服器的最底層,直接儲存資料,導致上層的操作,取決於引擎的選擇。...

MySQL優化之概述及欄位設計(一)

在日常開發中,mysql的優化是必不可少的,下面就來簡單的介紹一下為什麼要優化,怎麼去優化 為什麼要優化 當我們的應用吞吐量到達了資料庫的處理速度之上 資料庫隨著應用逐漸增多,處理壓力逐漸增大 存放在磁碟上的資料庫,相比於記憶體中的資料 讀寫要慢 如何優化 表,字段設計,結合業務考量更優的儲存和計算...

MySQL優化(一) 概述

2.在硬體級別進行優化 3.平衡可移植性和效能 資料庫效能取決於資料庫級別的多個因素,例如表,查詢和配置設定。這些軟體構造導致硬體級別的cpu和i o操作,必須盡可能地最小化並盡可能高效。使資料庫應用程式快速執行的最重要因素是其基本設計 結構合理嗎?特別是,列是否具有正確的資料型別,並且每個表是否具...