本文主要給大家簡(jiǎn)單講講MySQL數(shù)據(jù)庫(kù)優(yōu)化具體可以從哪些方面入手,相關(guān)專業(yè)術(shù)語(yǔ)大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL數(shù)據(jù)庫(kù)優(yōu)化具體可以從哪些方面入手這篇文章可以給大家?guī)?lái)一些實(shí)際幫助。
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為混凝土攪拌站等企業(yè)提供專業(yè)服務(wù)。

一、優(yōu)化SQL語(yǔ)句
1、優(yōu)化查詢語(yǔ)句
(1)通過(guò)Explain和Describe關(guān)鍵字分析select查詢語(yǔ)句,從而使開發(fā)人員知道查詢效率低的原因。語(yǔ)法如下:explain select * from bookmanager where Name='admin' \G;
(2)通過(guò)添加索引進(jìn)行優(yōu)化
說(shuō)起數(shù)據(jù)庫(kù)的性能,索引可能使最物美價(jià)廉的東西了。使用索引可以快速的定位表中的某條記錄,不用添加內(nèi)存、不用修改程序,也不用調(diào)用sql語(yǔ)句,只需執(zhí)行一個(gè)創(chuàng)建正確的索引,查詢速度就可能提高千倍萬(wàn)倍。索引并不一定是主鍵或者唯一的字段,如果表中的某個(gè)字段總是被搜索,就可以為其創(chuàng)建索引。創(chuàng)建索引的語(yǔ)句如下:create index index_name on table_name(manName); 使用索引應(yīng)注意的事項(xiàng):使用多列索引時(shí),查詢條件必須使用索引的第一個(gè)字符。符;like關(guān)鍵字配置的字符串不能以符號(hào)“%”開頭;or關(guān)鍵字連接的所有條件都必須使用索引。如果or前后有一個(gè)條件的列不是索引,那么查詢中講不使用索引。
(3)優(yōu)化Order by
有兩種方式如下:索引優(yōu)化:對(duì)by后的列添加索引,從而大達(dá)到優(yōu)化的目的;where+order by 的組合優(yōu)化:通過(guò)where進(jìn)行限制后在進(jìn)行order by。
(4)優(yōu)化group by(同3中通過(guò)加索引和where進(jìn)行優(yōu)化)
(5)優(yōu)化limit
(6)優(yōu)化子查詢:在mysql中通過(guò)使用連接查詢來(lái)代替子查詢,從而達(dá)到優(yōu)化目的。原因:子查詢?cè)趫?zhí)行的時(shí)候 數(shù)據(jù)庫(kù)需要位內(nèi)層查詢語(yǔ)句的查詢結(jié)果建立一個(gè)臨時(shí)表,然后外層語(yǔ)句查詢臨時(shí)表,所以子查詢的效率比較低,而連接查詢就不存在這個(gè)問(wèn)題。
2、優(yōu)化其他執(zhí)行語(yǔ)句
(1)優(yōu)化insert語(yǔ)句:禁用索引,禁用唯一性檢查,使用一條insert插入多條語(yǔ)句。
(2)優(yōu)化update語(yǔ)句:使用一個(gè)update語(yǔ)句同時(shí)做多個(gè)更新。
(3)優(yōu)化delete語(yǔ)句:刪除一條記錄的時(shí)間與索引的數(shù)量成正比。刪除一個(gè)表的所有行,使用truncate table Tbname 而不要使用delete from table。
二、優(yōu)化數(shù)據(jù)庫(kù)結(jié)構(gòu)
1、優(yōu)化字段類型
數(shù)據(jù)庫(kù)最耗時(shí)的就是IO處理,所以盡可能減少IO讀寫量。數(shù)字類型:盡量不要使用double類型,不僅是長(zhǎng)度問(wèn)題,還有精度問(wèn)題。對(duì)于整數(shù),數(shù)據(jù)量大時(shí)區(qū)分TinyInt、Int、BigInt,如果確定不實(shí)用負(fù)數(shù),添加unsigned定義;字符類型:盡量不要使用text類型,性能低于char和varchar,定長(zhǎng)使用char,不定長(zhǎng)使用varchar;時(shí)間類型:盡量不使用Timestamp,只精確到某一天的話,可用Date類型; Enum和Set:狀態(tài)字段用enum,如果存放可預(yù)先定義的屬性數(shù)據(jù)可以嘗試用set。
2、優(yōu)化字符編碼
3、適當(dāng)進(jìn)行拆分
4、適當(dāng)增加冗余
5、優(yōu)化數(shù)據(jù)庫(kù)表
三、優(yōu)化Mysql云服務(wù)器
優(yōu)化Mysql云服務(wù)器要遵循以下的優(yōu)化原則:內(nèi)存中的數(shù)據(jù)要比磁盤上的數(shù)據(jù)訪問(wèn)的快;讓數(shù)據(jù)盡可能長(zhǎng)時(shí)間的留在內(nèi)存里能減少磁盤讀寫活動(dòng)的工作量;讓索引信息留在內(nèi)存里要比讓數(shù)據(jù)記錄的內(nèi)容留在內(nèi)存里更為重要。
MySQL數(shù)據(jù)庫(kù)優(yōu)化具體可以從哪些方面入手就先給大家講到這里,對(duì)于其它相關(guān)問(wèn)題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。
文章名稱:MySQL數(shù)據(jù)庫(kù)優(yōu)化具體可以從哪些方面入手
標(biāo)題URL:http://chinadenli.net/article10/jpcggo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名、Google、建站公司、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)