數據庫設計-Mysql數據庫表設計的過程中幾個關鍵點


一.表設計過程中應該注意的數據類型

  • 1)更小的通常更好 控制字節長度
  • 2)使用合適的數據類型: 如tinyint只占8個位,char(1024)與varchar(1024)的對比,char用於類似定長數據存儲比varchar節省空間,如:uuid(32),可以用char(32).
  • 3)盡量避免NULL建議使用NOT NULL DEFAULT ''
  • 4)NULL的列會讓索引統計和值比較都更復雜。可為NULL的列會占據更多的磁盤空間,在Mysql中也需要更多復雜的處理程

二.索引設計過程中應該注意的點:

  • 1)選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄,保證物理上面唯一
  • 2)為經常需要排序、分組和聯合操作的字段建立索引 ,經常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作會浪費很多時間
  • 3)常作為查詢條件的字段建立索引 如果某個字段經常用來做查詢條件,那么該字段的查詢速度會影響整個表的查詢速
  • 4)數據少的地方不必建立索引:例如gender性別字段,僅有男女2中數據, 如果在這個字段建立索引,缺點:1.索引占用內存,2.索引性能差

三.關於SQL的執行計划

  使用explain關鍵字可以分析SQL的執行計划

  下面是對比圖:

數據少的字段建立索引

  建立索引前

  建議索引后(性能提升較少)

 

 

 

 

數據多的字段建立索引

  建立索引前

 

   建立索引后

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM