日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

程序员面试之MySQL数据库表的设计

發(fā)布時間:2024/9/30 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序员面试之MySQL数据库表的设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

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

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

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

2、字段命名盡量避開保留字

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

3、表名長度盡可能短

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

4、盡可能不使用default null

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

5、時間戳Timestamp

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

6、不要直接存儲圖片、音頻、視頻等大容量內(nèi)容

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

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

本文來自千鋒教育,轉(zhuǎn)載請注明出處。

總結(jié)

以上是生活随笔為你收集整理的程序员面试之MySQL数据库表的设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。