資料庫優化相關建議

2021-07-24 03:14:11 字數 858 閱讀 7131

一、資料庫優化

建表:create table user(

id int not null,

name varchar(200),

ip int )engine=innodb default charset=utf8;

1.  選擇合適的字段型別,比如使用者狀態選擇tinyint,因為tinyint占用乙個位元組

2.  盡量每個欄位都新增not null

3.  能夠用數字型別盡量使用數字型別,比如ip位址可以使用int型別儲存

4.  選擇合適的表引擎,比如:如果這個表寫操作比較頻繁,建議使用innodb

5.  選擇合適的字符集。一般都是選擇utf8

6.  根據業務情況,給經常作為where/order by /group by後面的字段新增索引

7.  把不常用的字段和字段型別比較大(text) 劃分到其他表中

8.  適當地冗餘,反正規化。以達到空間換取時間

一般資料庫配置檔案的引數也是需要根據業務情況改動。

二、架構層面的優化:

1. 分庫分表

2. 搭建主從資料庫,做到讀寫分離。減少單台資料庫伺服器壓力

三、查詢的優化:

select id,name from user where md5(name) = ''  limit 10 //先把乙個sql語句寫出來,然後分析

1.  不要使用*,盡量只查需要的字段

2.  盡量使用limit,減少資料傳輸大小

3.  盡量根據索引來檢索資料

4.  盡量不使用子查詢,可以使用連線替換,連線字段需要新增索引

5.  儘量減少在資料庫進行運算、使用內建函式

6.  儘量減少使用like模糊查詢

資料庫優化建議

1.建立索引時,按照索引字段重複最少來排序,盡量建立復合索引。2.應考慮在where及order by涉及的列上建立索引。3.select時,不要返回不需要的行。4.sql中where的第乙個條件寫聚集索引,where條件中建立了索引的字段要放在前面。5.聯合查詢時,使用exists 或not ex...

資料庫相關規範建議

核心 1 不在資料庫做運算cpu計算務必移至業務層 2 控制單錶資料量 單錶記錄控制在1000w 3 控制列數量 字段數控制在20以內 4 平衡正規化與冗餘 為提高效率犧牲正規化設計,冗餘資料 5 拒絕3b 拒絕大sql,大事物,大批量 欄位類 1 用好數值型別 tinyint 1byte smal...

資料庫優化相關概念

資料結構 sql 索引是成本最低,且效果最好的優化手段。1.sql 以及索引的優化 首先要根據需求寫出結構良好的 sql,然後根據 sql 在表中建立有效的索引。但是如果索引太多,不但會影響寫入的效率,對查詢也有一定的影響。2.合理的資料庫設計 1 根據資料庫三正規化來進行表結構的設計。設計表結構時...