程式設計師面試之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內容比較多,導致主從同步效率問題。
瞭解更多資料庫最佳化知識,只要你的技術能夠滿足企業的需要,你就能拿到滿意的薪資。如果你真的想要學好程式設計開發,可以選擇專業的學習,讓自己更好的進入程式設計行業。
本文來自千鋒教育,轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2789081/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計師面試資料程式設計師面試
- 【JAVA面試資料】程式設計師面試之葵花寶典1Java面試程式設計師
- 【JAVA面試資料】程式設計師面試之葵花寶典2Java面試程式設計師
- MySQL之規範資料庫設計MySql資料庫
- 好程式設計師大資料培訓分享之MySQL資料庫SQL簡介程式設計師大資料MySql資料庫
- 資料庫表設計資料庫
- python mysql資料庫程式設計PythonMySql資料庫程式設計
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- 新書出版 |《資料庫程式設計師面試筆試真題庫》新書資料庫程式設計師面試筆試
- 資料庫表設計之儲存引擎資料庫儲存引擎
- 資料庫設計之area區域表資料庫
- 【資料庫設計】資料庫的設計資料庫
- 好程式設計師大資料培訓分享之《MySQL資料庫》常用函式整理程式設計師大資料MySql資料庫函式
- 大資料面試題整理-好程式設計師大資料面試題程式設計師
- Go Web 程式設計之 資料庫GoWeb程式設計資料庫
- 4,MySQL資料庫的設計MySql資料庫
- MySQL 規範 (資料庫表設計規範)MySql資料庫
- 糟糕的程式設計師面試程式設計師面試
- 程式設計師必看的書之Java程式設計師程式設計師Java
- 新書出版 |《資料庫程式設計師面試筆試寶典》新書資料庫程式設計師面試筆試
- mysql資料庫優化之表的設計和慢查詢定位MySql資料庫優化
- 程式設計師面試技巧程式設計師面試
- 如何面試程式設計師?面試程式設計師
- 程式設計師面試資源大收集程式設計師面試
- Java程式設計師面試學習資料彙總Java程式設計師面試
- 線上資料庫設計工具-toolfk程式設計師線上工具網資料庫程式設計師
- 程式設計師程式設計面試取勝的8個技巧程式設計師面試
- MySQL 資料庫設計的“奧祕”MySql資料庫
- 資料庫設計之思考資料庫
- Java程式設計基礎31——MySql資料庫Java程式設計MySql資料庫
- 程式設計師的自我修養之全棧程式設計師程式設計師全棧
- (2) 電商資料庫表設計資料庫
- MySQL 資料庫設計總結MySql資料庫
- MySQL資料庫設計規範MySql資料庫
- ORACLE/MySQL資料庫模式設計~~OracleMySql資料庫模式
- 《C程式設計專家》:程式設計師面試(附2)C程式程式設計師面試
- 程式設計師面試經驗程式設計師面試