設計庫和表從哪些方面考慮(MYSQL)

  • 選擇合適字段類型:

字段儘量選擇的越小越好,因爲越短的類型佔用的磁盤空間越小

還有就是我們儘量選擇使用固定長度或固定值得字段類型

表的列字段最好不要太多,合適就好

儘可能使用not null定義字段

儘量少使用text字段類型,如果使用的話最好進行分表

  •   添加索引

字段查詢比較多的情況下建立索引

字段要求不重複的情況下建立唯一索引

主鍵儘量使用比較短的字段類型,減少磁盤佔用空間

避免創建過多的索引,降低寫得速度

非常小的表,全表掃描更快,沒必要創建索引

索引創建完後,還是要注意避免索引失效的情況

  • Sql優化

不要把sql語句寫的太長

儘量避免使用子查詢,使用連表代替子查詢,儘量使用內關聯查詢,也就是等值關聯

儘量避免索引失效的情況

儘量避免使用 select * ,只查找要使用的字段

查詢一條記錄的時候儘量使用limit 1 避免表的掃描

避免循環查詢,減少應用程序與數據庫的交互次數

 

  • 使用緩存

減少應用程序和數據庫交互的次數

分區分表優化,range分區, 水平分表

配置數據庫的讀寫分離

  • 建立索引的原則

在經常需要搜索的列上,可以加快搜索的速度

在經常用在連接的列上,這些列主要是一外鍵,可以加快連接的速度

在經常需要排序的列上,因爲索引已經排序,這樣可以利用索引的排序,加快排序時間

在作爲主鍵的列上,強制該列的唯一性和組織表中數據的排列結構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章