您好,登錄后才能下訂單哦!
序員面試中要注意什么?MySQL數據庫表如何設計?如果要選擇一門程序員必備的技能,那答案無疑是數據庫,而MySQL是首選。很多企業在面試過程中會提問MySQL數據庫表設計要注意什么,接下來千鋒就給大家講解一下。
MySQL相較于MSSQL SERVER和Oracle,是一款功能強大的小型數據庫,能很好的滿足千萬級數據量的項目需要。注意,MySQL本身是沒有可視化界面的,在Windows系統中你可以通過dos命令進行簡單的連接和查看,在Linux系統下可以通過MySQL的命令進行連接查看。
MySQL支持很多種不同的數據類型,并且選擇正確的數據類型對于獲得高性能至關重要。在設計MySQL表時,你需要注意五點:
1、一定要設計主鍵
主鍵,又叫主關鍵字,用來唯一地標識表中的某一條記錄。它能保證實體的完整性,加快數據庫的操作速度,這一點很重要。主鍵使用自增最佳,這樣每次插入新的記錄,記錄就會順序添加到當前索引節點的后續位置,當一頁寫滿,就會自動開辟一個新的頁。如果不是自增主鍵,那么可能會在中間插入,就會引發頁的分裂,產生很多表碎片。
2、字段命名最好避開保留字
在給字段命名的時候,要盡量避開關鍵字,以免出了問題而不好查找。雖然在以關鍵字命名的字段上加''可以不再報錯,但保險起見,就不要這么設計。
3、表名長度盡可能短
表名稱不要太長,Oracle限制字符為30個,如果有轉數據庫的需要,表名太長無疑會增加轉換的工作量。
4、盡可能不使用default null
NULL值不能進行索引,影響索引的統計信息,影響優化器的判斷。復合索引中只要有一列含有NULL值,那么這一列對于此復合索引就是無效的。
5、時間戳Timestamp
每個表的最后都加一個create_time為時間戳類型timestamp的字段,該方式對于調試階段非常有幫助。
6、不要直接存儲圖片、音頻、視頻等大容量內容
MySQL中有兩個字段類型被用來設計存放大容量文件:TEXT和BLOB類型。但MySQL內存臨時表并不支持這樣的大數據類型,如果查詢中包含這樣的數據,在排序等操作時,就不能使用內存臨時表,必須使用磁盤臨時表進行,導致查詢效率緩慢。同時因為數據內容比較大,就會造成binlog內容比較多,導致主從同步效率問題。
了解更多數據庫優化知識,只要你的技術能夠滿足企業的需要,你就能拿到滿意的薪資。如果你真的想要學好Java編程開發,可以選擇專業的學習,讓自己更好的進入編程行業。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。