小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Mysql數(shù)據(jù)庫的設(shè)計(jì)及語句優(yōu)化

 太極混元天尊 2018-04-12


文章載入中...

前言


      對(duì)于初學(xué)者來說,養(yǎng)成代碼規(guī)范的習(xí)慣尤為重要,同樣在設(shè)計(jì)數(shù)據(jù)庫表以及編寫 SQL語句時(shí),怎樣優(yōu)化SQL語句以及提高查詢效率?這個(gè)值得每一位java初學(xué)者的注意。下面我就簡(jiǎn)單介紹一些常用的Mysql數(shù)據(jù)庫的設(shè)計(jì)及語句優(yōu)化規(guī)則。

?數(shù)據(jù)庫表設(shè)計(jì)規(guī)則

1、冗余設(shè)計(jì);即設(shè)計(jì)數(shù)據(jù)庫可以適當(dāng)設(shè)計(jì)冗余字段。


2、設(shè)置刪除狀態(tài)字段;為了表面鎖表,盡量用關(guān)鍵字update,少用delete。


3、字段上面盡量不要用null做默認(rèn)值。


4、適當(dāng)加入索引,過量索引會(huì)減慢插入數(shù)據(jù)的速度。


5、主鍵類型盡量采用tinyint;因?yàn)橹麈I一般都是無符號(hào)的int,使用tinyint主鍵量可以達(dá)到int的兩倍。

 

?Mysql語句優(yōu)化

1、使用select語句盡量多用字段,使用 * 效率更低。


2、  查詢數(shù)量,盡量使用類似“count(1)”字樣。


3、  查詢一條語句,盡量在后面加上“l(fā)imit1”(數(shù)據(jù)庫查詢到一條即停止)。


4、快速插入語句:                                                                                                                        例如:insertintouser(name) values(‘m’);                                                                    insert into user(name) values(‘n’);                                                          改為,insertintouser(name) values(‘m’), (‘n’);                  


?SQL語句優(yōu)化遵循原則

1、盡量避免在列上運(yùn)算,這樣會(huì)導(dǎo)致索引失效。


2、使用 JOIN 時(shí),應(yīng)該用小結(jié)果集驅(qū)動(dòng)大結(jié)果集,同時(shí)把復(fù)雜的 JOIN 查詢拆分成多個(gè)query,因?yàn)镴OIN 多個(gè)表,可能導(dǎo)致更多的鎖定和堵塞。


3、使用LIKE 時(shí),避免使用 %%。


4、select 指定查詢字段,不要全查出來,節(jié)省內(nèi)存。


5、使用批量插入語句節(jié)省交互。


6、limit的基數(shù)比較大時(shí),使用 between,between 限定比 limit 快,但是between也有缺陷,如果id中間有斷行或是中間部分id不讀取的情況,數(shù)據(jù)會(huì)少。

     例如:select * from t where 1 limit 100000,10 

     可改為:select * from twhere id between 100000 and100010


7、不要使用rand 函數(shù)取多條隨機(jī)記錄。


8、避免使用 NULL。


9、不要做無謂的排序操作,而應(yīng)盡可能在索引中完成排序。                        

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多