成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

后端程序員必看,13個寫SQL的好建議

數據庫 MySQL
SQL是一種數據庫的結構化查詢語言,常用的關系型數據庫有MySQL,SQL Server,Oracle,Access等。其實就是對存儲在數據庫中的數據進行查詢等操作的一種語言,如果你有語言學習的基礎,那么學起SQL一定簡單多了。

SQL是一種數據庫的結構化查詢語言,常用的關系型數據庫有MySQL,SQL Server,Oracle,Access等。其實就是對存儲在數據庫中的數據進行查詢等操作的一種語言,如果你有語言學習的基礎,那么學起SQL一定簡單多了。每一個意見和建議都是一筆好財富,建議收藏~

[[353331]]

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

  • 降低寫錯SQL的代價, 如果不加limit,執行的時候一不小心手抖或卡機,數據大概就全被刪掉了,刪錯了怎么辦?加了limit 200,一切就不同了,可以通過binlog日志快速恢復。SQL效率可能會更高,你在SQL行中,加了limit 1,如果第一條就命中目標return, 沒有limit的話,還會繼續執行掃描表。
  • 避免了長事務,delete執行時,如果age加了索引,MySQL會將所有相關的行加寫鎖和間隙鎖,所有執行相關行會被鎖住,如果刪除數量大,直接無法使用相關業務。當你刪除數據量很大時,加 limit限制記錄數,就不容易把cpu打滿。

2. 變更SQL操作先在測試環境測試,可以避免有語法錯誤就放到生產上。變更SQL操作需要寫明詳細操作步驟,特別是有依賴關系的時候,比如:先修改表結構再增加對應的數據。

更換Sql操作有回滾方案,并在上生產前,review對應變更SQL。

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

4. 在操作生產的數據時,修改或者刪除SQL,先寫WHERE查一下,確認后再補充 delete 或 update。

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

6. 數據庫和表的字符集盡量統一使用UTF8編碼,可以避免亂碼問題以及不同字符集比較轉換,導致的索引失效問題。若想存儲表情,選擇utf8mb4來進行存儲,請注意它與utf-8的區別。

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

8. 慎用distinct關鍵字,它一般用來過濾重復記錄,以返回不重復的記錄。可以在查詢一個字段或者很少字段的情況下使用時,能帶來優化效果。但如果在字段很多的時候使用,會降低查詢效率。

9. SQL命令行修改數據,養成begin + commit 事務的習慣,這也是一顆SQL后悔藥。

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

11. where從句中不對列進行函數轉換和表達式計算,因為索引列上使用mysql的內置函數,索引失效。

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

13. 在適當的時候,使用覆蓋索引。它能夠讓你的SQL語句不需要回表,僅訪問索引就能得到全部需要的數據,大大提升了查詢效率。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2021-01-12 22:33:57

程序員開發編程

2015-06-12 11:22:52

程序員程序員跳槽

2020-04-10 16:30:16

SQL數據庫索引

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2011-05-30 11:19:35

程序員

2011-06-15 08:39:10

程序員

2011-08-02 08:59:02

程序員

2022-02-16 18:21:33

程序員跳槽架構

2016-03-09 17:35:07

程序員開發技能

2011-07-15 15:10:37

PHP

2024-05-06 00:00:00

2015-11-09 17:53:35

程序員高薪職業

2015-11-11 13:43:04

程序員高薪職業

2016-03-11 09:36:52

程序員頂級職業建議

2013-04-28 11:03:41

編程語言程序員私有云

2012-06-02 01:14:13

程序員企業家

2012-10-12 10:05:29

程序員SQL數據庫

2011-07-12 13:35:04

程序員

2019-10-09 08:58:31

Python編程語言開發

2022-08-21 21:39:06

程序員建議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久1 | 黄网站在线播放 | 中文字幕精品一区二区三区精品 | www国产精| 黄色免费av| 手机日韩 | 精品久久久网站 | 亚洲精品一区二区在线观看 | 国产一级免费视频 | 欧美成人性生活 | 国产精品一区二区三区久久久 | 一区精品国产欧美在线 | 国产激情一区二区三区 | 9999久久| 2022国产精品 | 色爱综合网 | 久久午夜视频 | 波多野结衣中文字幕一区二区三区 | 夜夜爆操 | 7799精品视频天天看 | h视频网站在线观看 | 在线只有精品 | 国产精品久久一区二区三区 | 国产免费一区二区 | 91精品www| 青青激情网 | 久久久久国产一区二区三区四区 | 国产精品视频在线免费观看 | 国产a区| a欧美| 亚洲精品中文字幕在线观看 | 精品免费视频一区二区 | 亚洲日韩中文字幕一区 | 国产露脸国语对白在线 | 午夜看电影在线观看 | 久久精品99国产精品日本 | 欧美激情精品久久久久久变态 | 国产aⅴ爽av久久久久久久 | 野狼在线社区2017入口 | 久久91av | 91免费版在线观看 |