MySQL是目前世界上使用最廣泛的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其優(yōu)良的性能和易用性使其受到了廣大開(kāi)發(fā)者的歡迎和喜愛(ài)。但是,想要正常地使用MySQL,需要遵循其“36條軍規(guī)”,這些規(guī)則對(duì)于保證數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性至關(guān)重要。
MySQL的“36條軍規(guī)”如下:
第一條,每個(gè)表必須有主鍵
第二條,不要使用太多的NULL值
第三條,避免使用外鍵
第四條,不要在MySQL中使用“*”查詢(xún)語(yǔ)句
第五條,不要讓MySQL自動(dòng)轉(zhuǎn)換數(shù)據(jù)類(lèi)型
第六條,不要使用子查詢(xún)
第七條,不要使用“GROUP BY”語(yǔ)句
第八條,不要使用過(guò)多的JOIN操作
第九條,不要使用多個(gè)OR語(yǔ)句
第十條,不要使用“LIKE”語(yǔ)句查詢(xún)所有字段
第十一條,不要使用索引來(lái)解決所有查詢(xún)問(wèn)題
第十二條,不要使用大型的BLOB或TEXT類(lèi)型
第十三條,不要使用不必要的數(shù)據(jù)類(lèi)型
第十四條,不要使用太多的存儲(chǔ)引擎
第十五條,不要把所有數(shù)據(jù)都存在一個(gè)表中
第十六條,不要使用全局變量
第十七條,不要使用數(shù)值型來(lái)存儲(chǔ)日期時(shí)間類(lèi)型
第十八條,不要忘記關(guān)閉未使用的連接
第十九條,不要在MySQL中存儲(chǔ)密碼
第二十條,不要使用SELECT *來(lái)查詢(xún)所有字段
第二十一條,不要讓MySQL的錯(cuò)誤信息暴露給外部用戶(hù)
第二十二條,不要使用復(fù)雜的查詢(xún)語(yǔ)句
第二十三條,不要直接對(duì)MySQL的配置文件進(jìn)行修改
第二十四條,不要在MySQL中使用太多的存儲(chǔ)過(guò)程
第二十五條,不要在MySQL中使用太多的觸發(fā)器
第二十六條,不要使用SHOW語(yǔ)句查詢(xún)MySQL的系統(tǒng)信息
第二十七條,不要使用MySQL的默認(rèn)用戶(hù)名和密碼
第二十八條,不要使用mysql_query()函數(shù)
第二十九條,不要使用單引號(hào)
第三十條,不要使用多語(yǔ)句語(yǔ)法
第三十一條,不要在MySQL中直接執(zhí)行操作系統(tǒng)命令
第三十二條,不要在MySQL中存儲(chǔ)敏感信息
第三十三條,不要使用過(guò)多的用戶(hù)和密碼
第三十四條,不要在MySQL中使用太多的存儲(chǔ)過(guò)程和觸發(fā)器
第三十五條,不要在MySQL的日志文件中存儲(chǔ)敏感信息
第三十六條,不要在MySQL中使用復(fù)雜的查詢(xún)語(yǔ)句和條件