MySQL規(guī)范有哪些,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
為疏勒等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及疏勒網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、疏勒網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
不在數(shù)據(jù)庫(kù)做運(yùn)算:cpu計(jì)算務(wù)必移至業(yè)務(wù)層
控制單表數(shù)據(jù)量:?jiǎn)伪碛涗浛刂圃?000w
控制列數(shù)量:字段數(shù)控制在20以?xún)?nèi)
平衡范式與冗余:為提高效率犧牲范式設(shè)計(jì),冗余數(shù)據(jù)
拒絕3B:拒絕大sql,大事物,大批量
varchar是變長(zhǎng)存儲(chǔ)的,所以實(shí)際開(kāi)發(fā)中我們一般都把varchar的寬度設(shè)為最長(zhǎng)255,反正你沒(méi)用完它也不會(huì)浪費(fèi)空間。
避免使用NULL字段
NULL字段很難查詢(xún)優(yōu)化
NULL字段的索引需要額外空間
NULL字段的復(fù)合索引無(wú)效
少用text/blob
varchar的性能會(huì)比text高很多
實(shí)在避免不了blob,請(qǐng)拆表
謹(jǐn)慎合理使用索引
改善查詢(xún)、減慢更新
索引一定不是越多越好(能不加就不加,要加的一定得加)
覆蓋記錄條數(shù)過(guò)多不適合建索引,例如“性別”
不在索引做列運(yùn)算
bad case:select id where age +1 = 10;
不用外鍵,請(qǐng)由程序保證約束
sql語(yǔ)句盡可能簡(jiǎn)單
一條sql只能在一個(gè)cpu運(yùn)算
大語(yǔ)句拆小語(yǔ)句,減少鎖時(shí)間
一條大sql可以堵死整個(gè)庫(kù)
簡(jiǎn)單的事務(wù),事務(wù)時(shí)間盡可能短
避免使用trig/func
觸發(fā)器、函數(shù)不用
客戶(hù)端程序取而代之
避免負(fù)向%
limit高效分頁(yè),limit越大,效率越低
少用連接join
庫(kù)名,表名,列名必須用小寫(xiě),采用下劃線(xiàn)分隔
abc,Abc,ABC都是給自己埋坑
庫(kù)名,表名,列名必須見(jiàn)名知義,長(zhǎng)度不要超過(guò)32字符
tmp,wushan誰(shuí)TM知道這些庫(kù)是干嘛的
建議將大字段,訪(fǎng)問(wèn)頻度低的字段拆分到單獨(dú)的表中存儲(chǔ),分離冷熱數(shù)據(jù)
禁止在where條件列使用函數(shù)或者表達(dá)式
禁止大表JOIN和子查詢(xún)
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。