欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

有哪些寫SQL的好建議

本篇內(nèi)容主要講解“有哪些寫SQL的好建議”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“有哪些寫SQL的好建議”吧!

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、遼陽網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為遼陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1. 在執(zhí)行刪除或者更新語句,盡量加上limit,它是SQL后悔藥加了limit 主要有這些好處:

  • 降低寫錯SQL的代價,  如果不加limit,執(zhí)行的時候一不小心手抖或卡機,數(shù)據(jù)大概就全被刪掉了,刪錯了怎么辦?加了limit  200,一切就不同了,可以通過binlog日志快速恢復(fù)。SQL效率可能會更高,你在SQL行中,加了limit 1,如果第一條就命中目標(biāo)return,  沒有l(wèi)imit的話,還會繼續(xù)執(zhí)行掃描表。

  • 避免了長事務(wù),delete執(zhí)行時,如果age加了索引,MySQL會將所有相關(guān)的行加寫鎖和間隙鎖,所有執(zhí)行相關(guān)行會被鎖住,如果刪除數(shù)量大,直接無法使用相關(guān)業(yè)務(wù)。當(dāng)你刪除數(shù)據(jù)量很大時,加  limit限制記錄數(shù),就不容易把cpu打滿。

2. 變更SQL操作先在測試環(huán)境測試,可以避免有語法錯誤就放到生產(chǎn)上。變更SQL操作需要寫明詳細(xì)操作步驟,特別是有依賴關(guān)系的時候,比如:先修改表結(jié)構(gòu)再增加對應(yīng)的數(shù)據(jù)。

更換Sql操作有回滾方案,并在上生產(chǎn)前,review對應(yīng)變更SQL。

3. where后面的字段,留意其數(shù)據(jù)類型的隱式轉(zhuǎn)換,這樣可以優(yōu)化性能。因為沒加單引號時,是字符串和數(shù)字的比較,類型不匹配,MySQL就會做隱式的類型轉(zhuǎn)換,把它們轉(zhuǎn)換為浮點數(shù)再做比較,最后導(dǎo)致索引失效。

4. 在操作生產(chǎn)的數(shù)據(jù)時,修改或者刪除SQL,先寫WHERE查一下,確認(rèn)后再補充 delete 或 update。

5. 減少不必要的字段返回,可以節(jié)省資源、減少網(wǎng)絡(luò)開銷,用到覆蓋索引,減少回表,提高查詢效率。比如運用select <具體字段> 代替  select * 。

6. 數(shù)據(jù)庫和表的字符集盡量統(tǒng)一使用UTF8編碼,可以避免亂碼問題以及不同字符集比較轉(zhuǎn)換,導(dǎo)致的索引失效問題。若想存儲表情,選擇utf8mb4來進(jìn)行存儲,請注意它與utf-8的區(qū)別。

7. 盡量使用varchar代替 char。因為首先變長字段存儲空間小,可以節(jié)省存儲空間。

8. 慎用distinct關(guān)鍵字,它一般用來過濾重復(fù)記錄,以返回不重復(fù)的記錄??梢栽诓樵円粋€字段或者很少字段的情況下使用時,能帶來優(yōu)化效果。但如果在字段很多的時候使用,會降低查詢效率。

9. SQL命令行修改數(shù)據(jù),養(yǎng)成begin + commit 事務(wù)的習(xí)慣,這也是一顆SQL后悔藥。

10. 索引命名要規(guī)范,主鍵索引名為 pk_ 字段名;唯一索引名為 uk _字段名 ;普通索引名則為 idx _字段名。比如pk_即primary  key;uk_即unique key;idx_即index 的簡稱。

11. where從句中不對列進(jìn)行函數(shù)轉(zhuǎn)換和表達(dá)式計算,因為索引列上使用mysql的內(nèi)置函數(shù),索引失效。

12. SQL語句中不IN包含的值不能太多,如果數(shù)值過多,產(chǎn)生的消耗也就較大。MySQL對于IN做了相應(yīng)的優(yōu)化,即將IN中的常量全部存儲在一個數(shù)組里面,而且這個數(shù)組是排好序的。能用between就不要用in了,或者使用連接來替換。

13. 在適當(dāng)?shù)臅r候,使用覆蓋索引。它能夠讓你的SQL語句不需要回表,僅訪問索引就能得到全部需要的數(shù)據(jù),大大提升了查詢效率。

到此,相信大家對“有哪些寫SQL的好建議”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁標(biāo)題:有哪些寫SQL的好建議
文章來源:http://chinadenli.net/article18/jiicgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站、ChatGPT關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)