溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

程序員面試中要注意什么 MySQL數(shù)據(jù)庫(kù)表如何設(shè)計(jì)

發(fā)布時(shí)間:2020-07-21 06:55:59 來源:網(wǎng)絡(luò) 閱讀:171 作者:千鋒鄭州 欄目:編程語(yǔ)言

序員面試中要注意什么?MySQL數(shù)據(jù)庫(kù)表如何設(shè)計(jì)?如果要選擇一門程序員必備的技能,那答案無疑是數(shù)據(jù)庫(kù),而MySQL是首選。很多企業(yè)在面試過程中會(huì)提問MySQL數(shù)據(jù)庫(kù)表設(shè)計(jì)要注意什么,接下來千鋒就給大家講解一下。


程序員面試中要注意什么 MySQL數(shù)據(jù)庫(kù)表如何設(shè)計(jì)



MySQL相較于MSSQL SERVER和Oracle,是一款功能強(qiáng)大的小型數(shù)據(jù)庫(kù),能很好的滿足千萬級(jí)數(shù)據(jù)量的項(xiàng)目需要。注意,MySQL本身是沒有可視化界面的,在Windows系統(tǒng)中你可以通過dos命令進(jìn)行簡(jiǎn)單的連接和查看,在Linux系統(tǒng)下可以通過MySQL的命令進(jìn)行連接查看。

MySQL支持很多種不同的數(shù)據(jù)類型,并且選擇正確的數(shù)據(jù)類型對(duì)于獲得高性能至關(guān)重要。在設(shè)計(jì)MySQL表時(shí),你需要注意五點(diǎn):

1、一定要設(shè)計(jì)主鍵

主鍵,又叫主關(guān)鍵字,用來唯一地標(biāo)識(shí)表中的某一條記錄。它能保證實(shí)體的完整性,加快數(shù)據(jù)庫(kù)的操作速度,這一點(diǎn)很重要。主鍵使用自增最佳,這樣每次插入新的記錄,記錄就會(huì)順序添加到當(dāng)前索引節(jié)點(diǎn)的后續(xù)位置,當(dāng)一頁(yè)寫滿,就會(huì)自動(dòng)開辟一個(gè)新的頁(yè)。如果不是自增主鍵,那么可能會(huì)在中間插入,就會(huì)引發(fā)頁(yè)的分裂,產(chǎn)生很多表碎片。

2、字段命名最好避開保留字

在給字段命名的時(shí)候,要盡量避開關(guān)鍵字,以免出了問題而不好查找。雖然在以關(guān)鍵字命名的字段上加''可以不再報(bào)錯(cuò),但保險(xiǎn)起見,就不要這么設(shè)計(jì)。

3、表名長(zhǎng)度盡可能短

表名稱不要太長(zhǎng),Oracle限制字符為30個(gè),如果有轉(zhuǎn)數(shù)據(jù)庫(kù)的需要,表名太長(zhǎng)無疑會(huì)增加轉(zhuǎn)換的工作量。

4、盡可能不使用default null

NULL值不能進(jìn)行索引,影響索引的統(tǒng)計(jì)信息,影響優(yōu)化器的判斷。復(fù)合索引中只要有一列含有NULL值,那么這一列對(duì)于此復(fù)合索引就是無效的。

5、時(shí)間戳Timestamp

每個(gè)表的最后都加一個(gè)create_time為時(shí)間戳類型timestamp的字段,該方式對(duì)于調(diào)試階段非常有幫助。

6、不要直接存儲(chǔ)圖片、音頻、視頻等大容量?jī)?nèi)容

MySQL中有兩個(gè)字段類型被用來設(shè)計(jì)存放大容量文件:TEXT和BLOB類型。但MySQL內(nèi)存臨時(shí)表并不支持這樣的大數(shù)據(jù)類型,如果查詢中包含這樣的數(shù)據(jù),在排序等操作時(shí),就不能使用內(nèi)存臨時(shí)表,必須使用磁盤臨時(shí)表進(jìn)行,導(dǎo)致查詢效率緩慢。同時(shí)因?yàn)閿?shù)據(jù)內(nèi)容比較大,就會(huì)造成binlog內(nèi)容比較多,導(dǎo)致主從同步效率問題。

了解更多數(shù)據(jù)庫(kù)優(yōu)化知識(shí),只要你的技術(shù)能夠滿足企業(yè)的需要,你就能拿到滿意的薪資。如果你真的想要學(xué)好Java編程開發(fā),可以選擇專業(yè)的學(xué)習(xí),讓自己更好的進(jìn)入編程行業(yè)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI