Mysql影片教學欄位介紹MySQL的開發規格
推薦(免費):mysql影片教學
#.
- #基礎規格
- 使用innodb儲存引擎
- 表格字元集使用utf-8
- #所有表格新增註解
- 單表資料量建議控制在5000W以內
- 不再資料庫儲存圖、檔案等大資料
禁止在線上做資料庫壓力測試
- 禁止測試、開發環境直連資料庫
- 命名規格
- 庫名稱表名字段名必須有固定的命名長度,12個字元以內
- 庫名、表名、欄位名稱禁止超過32個字元。須見名之意
- 庫名、表名、字段名禁止使用MySQL保留字
臨時庫、表名必須以tmp為前綴,並以日期為後綴
- 備份庫、表必須以bak為前綴,並以日期為後綴
- 庫、表格、欄位開發設計規格
- 禁止使用分區表
拆分大欄位和翻身顧問頻率低的字段,分離冷熱資料
用HASH進散表,表名後綴使進制數,下標從0開始
-
依日期時間分錶需符合
YYYY[MM][DD][HH] 格式 - 採用適當的分庫分錶策略。例如千庫十表、十庫百表等
- 盡可能不適用text、blob型別
- 用decimal代替float和double存儲精確浮點數
- 越簡單越好:將字元轉換為數字、使用tinyint來取代enum類型
- ##所有欄位均為not null
- 使用unsigned儲存非負數
- int型別固定佔有4位元組儲存
- 使用timestamp儲存時間
- 使用int unsigned儲存ipv4
-
使用varbinary儲存大小寫敏感的變長字串
#禁止在資料庫中儲存明文密碼,把密碼加密後儲存
用好數值類型欄位
類型
######int#############4###########-2147483648#### ########2147483647###################bigint############8############################################ ###-9223372036854775808#############9223372036854775807################字節 最小值
#最大值tinyint 1 -128 #127 ##127 smallint 2 -32768 32767 #mediumint 3 #-8388608 #8388607 如果數值欄位沒有那麼大,就不要用bigint
#儲存ip最好用int儲存而不是char(15)
#不允許使用enum
-
避免使用null欄位
null欄位很難查詢一花,null欄位的索引需要額外空間,null欄位的複合索引無效。
#索引規格
#單一表中的索引數量不超過5個
單一索引中的字段數不超過5個
#對字串使用前綴索引,前綴索引長度不超過8個字符
建議優先考慮前綴索引,必要可新增偽列並建立索引
表必須有主鍵
不使用更新頻繁的列作為主鍵
盡量不選擇字串列作為主鍵
不使用uuid md5 hash這些作為主鍵-太離散
預設使非空的唯一鍵作為主鍵
建議選擇自增或發號器
重要的SQL必須必須被索引,例如update、delete語句的where條件列、order by、group by、distinct的欄位
多表join的欄位注意
<p>1.区分度最大的字段放在前面<br>2.核SQL优先考虑覆盖索引<br>3.避免冗余和重复索引<br>4.索引要综合评估数据密度和分布以及考虑查询和更新比例<br></p>
#索引禁忌
<p>1.不在低基数列上建立索引、例如性别<br>2.不在索引列记性数学运算和函数运算<br></p>
盡量不使用外鍵
<p>1.外键用来保护参照完整性,可以业务端实现<br>2.对父表和字表的操作会互相影响,降低可用性<br></p>
索引命名
<p>1.非唯一索引必须以 inx_字段1_字段22.唯一索引必须以 uniq_字段1_字段2<br></p>
索引欄位的預設值不能為空。 null非常影響索引的查詢效率。
重複檢視和資料表相關的SQL,符合最左字首的特點建立索引。多條欄位重複的索引,要修改語句條件欄位的順序,為其建立一個聯合索引,減少索引數量。
能使用唯一索引就使用唯一索引
#研發要經常使用explain,如果發現索引選擇性差,必須讓他們學會使用hint 。
SQL規格
#SQL語句盡可能簡單
事物要簡單,整個事物的時間產生過度不要太長
避免使用觸發器、函數、預存程序
降低業務耦合度,為sacle out,sharding留有餘地
#避免在資料庫中進行數學運算,mysql不擅長數學運算和邏輯判斷
- ##不要用selecy *,查詢那幾個字段就select那幾個字段
- sql中使用or的改寫成in,or的效率沒有in的效率高
- in裡面數字的數量建議1000以內
- limit分頁注意效率。 limit越大,效率越低。
- 使用union all取代union
- #避免讓大表join
- 使用group bu分組、自動排序
- 對資料的更新要打散後批次更新,不要一次更新太多資料
- 減少和資料庫的互動次數
- 注意使用效能分析工具
- SQL語句要求所有研發,SQL關鍵字全部大寫,每個字只允許一個空格
- SQL語句不可以出現隱含轉換
- #能不用not in就不用
- #禁止使用前綴是%的like
- 不使用負向查詢,如not in、not like
- 禁止在資料庫總跑大查詢
禁止將order by rand
- #禁止單條SQL語句同時更新多個表
- 流程規格
- 所有的建表操作需要事先告知該表涉及的查詢SQL
- 所有的建表需要確定建立那些索引後才可以建表上線
- 所有的改表結構、加索引操作都需要涉及到所該表的查詢SQL發出來通知DBA等相關人員
- 在新表加字段之前,要求研發至少提前3天郵件出來,給dba門評估、優化和審核
- 批次匯入、匯出資料必須事先通知DBA協助觀察
以上是記錄MySQL開發規範的詳細內容。更多資訊請關注PHP中文網其他相關文章!

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

構建MySQL數據庫的步驟包括:1.創建數據庫和表,2.插入數據,3.進行查詢。首先,使用CREATEDATABASE和CREATETABLE語句創建數據庫和表,然後用INSERTINTO語句插入數據,最後用SELECT語句查詢數據。

MySQL適合初學者,因為它易用且功能強大。 1.MySQL是關係型數據庫,使用SQL進行CRUD操作。 2.安裝簡單,需配置root用戶密碼。 3.使用INSERT、UPDATE、DELETE、SELECT進行數據操作。 4.複雜查詢可使用ORDERBY、WHERE和JOIN。 5.調試需檢查語法,使用EXPLAIN分析查詢。 6.優化建議包括使用索引、選擇合適數據類型和良好編程習慣。

MySQL適合初學者,因為:1)易於安裝和配置,2)有豐富的學習資源,3)SQL語法直觀,4)工具支持強大。儘管如此,初學者需克服數據庫設計、查詢優化、安全管理和數據備份等挑戰。

是的,sqlisaprogramminglanguges pecialized fordatamanage.1)它具有焦點,focusingonwhattoachieveratherthanhow.2)sqlisessential forquerying forquerying,插入,更新,更新,和detletingdatainrelationalDatabases.3)

ACID屬性包括原子性、一致性、隔離性和持久性,是數據庫設計的基石。 1.原子性確保事務要么完全成功,要么完全失敗。 2.一致性保證數據庫在事務前後保持一致狀態。 3.隔離性確保事務之間互不干擾。 4.持久性確保事務提交後數據永久保存。

MySQL既是數據庫管理系統(DBMS),也與編程語言緊密相關。 1)作為DBMS,MySQL用於存儲、組織和檢索數據,優化索引可提高查詢性能。 2)通過SQL與編程語言結合,嵌入在如Python中,使用ORM工具如SQLAlchemy可簡化操作。 3)性能優化包括索引、查詢、緩存、分庫分錶和事務管理。

MySQL使用SQL命令管理數據。 1.基本命令包括SELECT、INSERT、UPDATE和DELETE。 2.高級用法涉及JOIN、子查詢和聚合函數。 3.常見錯誤有語法、邏輯和性能問題。 4.優化技巧包括使用索引、避免SELECT*和使用LIMIT。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器