MySQL常用優(yōu)化方法:
1、 數(shù)據(jù)庫的設(shè)計(jì)莱革,符合3范式峻堰,字段合理的屬性(防止多余空間)等
2、用Join代替子查詢盅视,使用多次查詢代替聯(lián)表查詢
3捐名、添加適當(dāng)?shù)乃饕饕齼?yōu)化的原理是通過添加索引闹击,也就是優(yōu)化了查詢算法來進(jìn)行優(yōu)化
4镶蹋、SQL語句優(yōu)化,(可以通過慢查詢?nèi)ザㄎ徊檎遥?br>
5赏半、存儲(chǔ)過程贺归,根據(jù)業(yè)務(wù)寫一些存儲(chǔ)函數(shù),可起到一定的優(yōu)化效果
6断箫、MySQL事務(wù)牧氮、鎖表、唯一性瑰枫、并發(fā)等操作的優(yōu)化踱葛,如果操作不當(dāng)會(huì)嚴(yán)重影響MySQL性能,數(shù)據(jù)唯一性光坝,等等一系列問題
7尸诽、MySQL配置優(yōu)化,有并發(fā)數(shù)設(shè)置盯另,連接數(shù)性含,緩存大小等
8、服務(wù)器配置升級(jí)
9鸳惯、分表商蕴,水平分表(根據(jù)表內(nèi)的記錄數(shù)是分割),垂直分表(根據(jù)字段去分割)芝发,水平垂直混合使用
10绪商、分庫,讀寫分離辅鲸,主從格郁,分布式MySQL集群
11、第三方優(yōu)化軟件的使用,搜索引擎(Sphinx)例书、數(shù)據(jù)緩存(redis)
12锣尉、根據(jù)用戶分區(qū)(這個(gè)應(yīng)該其實(shí)和分表差不多效果)
以下會(huì)將上面的方法的詳解:
索引分類
1.普通索引index :加速查找
2.唯一索引
主鍵索引:primary key :加速查找+約束(不為空且唯一)
唯一索引:unique:加速查找+約束 (唯一)
3.聯(lián)合索引
-primary key(id,name):聯(lián)合主鍵索引
-unique(id,name):聯(lián)合唯一索引
-index(id,name):聯(lián)合普通索引
4.全文索引fulltext :用于搜索很長一篇文章的時(shí)候,效果最好决采。
5.空間索引spatial :了解就好自沧,幾乎不用