Mysql經驗-------持續更新

1.單錶行數超過 500 萬行或者單表容量超過 2GB,才推薦進行分庫分表
說明:若是預計三年後的數據量根本達不到這個級別,請不要在建立表時就分庫分表。數據庫

 

2.用DECIMAL代替FLOAT和DOUBLE存儲精確浮點數,越簡單越好:將字符轉化爲數字、使用TINYINT來代替ENUM類型spa

 

3.重要的SQL必須被索引,好比:對象

(1) UPDATE、DELETE語句的WHERE條件列索引

(2) ORDER BY、GROUPBY、DISTINCT的字段it

 

4.不要用select *,查詢哪幾個字段就select 這幾個字段io

 

5.研發要常用explain,若是發現索引選擇性差,必須讓他們學會使用hint模板

 

6.limit分頁注意效率。Limit越大,效率越低。能夠改寫limit,好比例子改寫:效率

select id from tlimit 10000, 10; => select id from t where id > 10000limit10;渲染

 

7.分層領域模型規約select

  • DO(Data Object):此對象與數據庫表結構一一對應,經過 DAO 層向上傳輸數據源對象。
  • DTO(Data Transfer Object):數據傳輸對象,Service 或 Manager 向外傳輸的對象。
  • BO(Business Object):業務對象,由 Service 層輸出的封裝業務邏輯的對象。
  • AO(Application Object):應用對象,在 Web 層與 Service 層之間抽象的複用對象模型,極爲貼近展現層,複用度不高。
  • VO(View Object):顯示層對象,一般是 Web 向模板渲染引擎層傳輸的對象。 
  • Query:數據查詢對象,各層接收上層的查詢請求。注意超過 2 個參數的查詢封裝,禁止使用 Map 類來傳
相關文章
相關標籤/搜索