《Mysql學(xué)習(xí)如何進(jìn)行mysql的優(yōu)化》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)如何進(jìn)行mysql的優(yōu)化,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL必讀1,這個(gè)比較簡單:在phpmyadmin中有提供
MYSQL必讀
MYSQL必讀2.先設(shè)計(jì)表的時(shí)候考慮選擇什么樣的存儲(chǔ)引擎,myisam不支持事務(wù),但查詢速度快,不過現(xiàn)在一般采用的都是InnoDB,能符合95%的項(xiàng)目需求.具體的你可以看看兩者的區(qū)別.
3.要避免全表查詢的操作,這個(gè)網(wǎng)上有資料.
4.在where和order by的字段上面建索引,當(dāng)然索引不是多就好,會(huì)使insert和update速度變慢
5,盡量不要采用null值,因?yàn)檫@樣搜索引擎會(huì)花費(fèi)大量的時(shí)間在這里,而且存儲(chǔ)上也有區(qū)別,建議采用not null.
6.varchar 和char的選擇.可以節(jié)省不少空間.
7.字段盡可能短,起的有意義的名字,符合命名規(guī)范.
8.避免在where 條件中來使用 <> 或 !=,因?yàn)檫@樣會(huì)造成全表掃描的.
9,進(jìn)行分區(qū)分表
10.建視圖來代替程序中的復(fù)雜查詢.
11.設(shè)置緩存
12.like效率較低,盡量采用不同的sql查詢
13. 在where后面的字段中盡量不要采用運(yùn)算和使用mysql中的函數(shù),例如LOWER()等.
14.between 和in,前者更好
15,寫sql語句的時(shí)候,思考是否要返回那么多的數(shù)據(jù),limit可以進(jìn)行限制
16,刪除表使用truncate不要用delete,因?yàn)閐elete會(huì)一行一行的刪除.
17.如果一些sql語句都是相同的只是變量不相同,可以進(jìn)行sql語句合并,采用預(yù)處理,可以節(jié)省編譯的時(shí)間.
18.數(shù)據(jù)庫連接池的使用
19,采用集群
20,不用的資源馬上釋放
21.拆分大的 DELETE 或INSERT 語句,批量提交SQL語句
22.usleep避免服務(wù)器宕機(jī)
23,select在從服務(wù)器上面進(jìn)行,修改數(shù)據(jù)的操作在主服務(wù)器上
如果還有其他的,后面待補(bǔ)充.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/6244.html