資料庫優化:
1.從結構層: web伺服器採用負載均衡伺服器,mysql伺服器採用主從複製,讀寫分離 2.從儲存層: 採用合適的儲存引擎,採用三正規化 3.從設計層: 採用分區分表,索引,表的字段採用合適的字段屬性,適當的採用逆正規化,開啟mysql快取 4.sql語句層:結果一樣的情況下,採用效率高,速度快節省資源的sql語句執行
三正規化:
第一正規化
1、每一列屬性都是不可再分的屬性值,確保每一列的原子性
2、兩列的屬性相近或相似或一樣,盡量合併屬性一樣的列,確保不產生冗餘資料。
第二正規化
每一行的資料只能與其中一列相關,即一行資料只做一件事。只要資料列中出現資料重複,就要把錶拆分開來。
第三正規化
資料不能存在傳遞關係,即沒個屬性都跟主鍵有直接關係而不是間接關係。
索引的優缺點
1、優點:
a)可以保證資料庫表中每一行的資料的唯一性
b)可以大大加快資料的索引速度
c)加速表與表之間的連線,物別是在實現資料的參考完事性方面特別有意義
d)在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間
f)通過使用索引,可以在時間查詢的過程中,使用優化隱藏器,提高系統的效能
2、 缺點:
a) 建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加
b) 索引需要佔物理空間,除了資料表占用資料空間之外,每乙個索引還要占用一定的物理空間,如果需要建立聚簇索引,那麼需要占用的空間會更大
c) 以表中的資料進行增、刪、改的時候,索引也要動態的維護,這就降低了整數的維護速度
d) 建立索引的原則
e) 在經常需要搜尋的列上,可以加快搜尋的速度
f) 在作為主鍵的列上,強制該列的唯一性和組織表中資料的排列結構
g) 在經常用在連線的列上,這些列主要是一外來鍵,可以加快連線的速度
h) 在經經常需要根據範圍進行搜尋的列上建立索引,國為索引已經排序,其指定的範圍是連續的
i) 在經常需要排序的列上,國為索引已經排序,這樣井底可以利用索引的排序,加快排序井底時間
j) 在經常使用在where子句中的列上,加快條件的判斷速度
MySQL資料庫知識彙總
mysql資料庫安裝 資料庫設計及規範 mysql mysq建表中的字段約束 mysql命令列基本操作 mysql 增 insert into 表名 欄位1,欄位2,欄位3 values 值1,值2,值3,刪 delete from 表名 where 限定條件 改 update 表名 set 欄位1...
Hadoop知識彙總
hadoop的兩大功能 海量資料儲存和海量資料分析 1 hdfs 分布式檔案系統海量資料儲存 3 yarn 資源排程管理集群 hdfs工作機制 基於namenode和datanode 1 namenode 響應客戶端的請求 負責維護整個hdfs檔案系統的目錄樹,以及每乙個路徑 檔案 所對應的bloc...
博弈知識彙總
顯然,如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如果n m 1 r s,r為任意自然數,s m 那麼先取者要拿走s個物品,如果後取者拿走k m 個,那麼先取者再拿走m 1 k個,結果剩下 m 1 r...