日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Mysql億級數(shù)據(jù)該如何優(yōu)化?4大金剛 13太保

 

4個大的方向:分庫 、 讀寫分離 、 設計好索引 、 優(yōu)化你的查詢Sql

13太保:

1,單庫表別太多,一般保持在200以下

2,盡量避免SQL中出現(xiàn)運算,例如select a*2 from A where 3*bb = ddd

3,表設計盡量小而精,能用5個字段就不要用6個(取決于業(yè)務,該冗余時堅決不要手軟)

4,SQL事務不能設計太大,比如一次性提交10W條insert,當然這個不僅僅是性能問題了,可能直接內(nèi)存溢出了

一般來說insert事務的話,500-1000來做批處理就可以了(字段不能太大)

5,設計表的時候盡量用"小數(shù)據(jù)類型",比如盡量避免text,blob等這些大家伙

6,設計表字段能用數(shù)字類型就千萬別用字符類型,比如存IP地址,用int,別用varchar

7,盡量避免null字段,定義時盡量使用 not null.原因是允許null時不方便查詢優(yōu)化,復合索引也會失效,而且如果列有索引時會額外占用空間: a int(10) NOT NULL DEFAULT 0

8,圖片等大家伙不要存DB,用fastdfs等中間件或者直接使用七牛等云存儲都可以搞,也不貴

9, or盡量不用,改為in(),當然in的范圍太多也不行,盡量別超100

如果:select a from A where b=1 or c=1這種where里面不同字段進行or,這種盡量改為union。 select a from A where b=1 union select a from A where c=1

10, update時,where語句盡量要走索引,不然會全表掃描,一般情況下,1G的數(shù)據(jù)至少10秒(想想這可是update啊,鎖住10S意味著啥)

11, 大SQL盡量拆分,多核CPU每個CPU只能執(zhí)行一個SQL,所以并發(fā)時,一堆小的可能效率更高一些,并且容易命中緩存,而且不容易長時間鎖表(無論什么鎖都是時間越短越好),當然這個要結(jié)合實際情況分析了,一大堆小的萬一增加IO負擔呢。

12, 避免 “% 前綴”模糊查詢 。因為會導致索引失效,大數(shù)據(jù)量下是災難

13, 分頁時:Select a from A limit 10000,10; 這種大偏移量下效率非常低

可以考慮如下 select a from A WHERE id>=xxxx limit 11;

分享到:
標簽:Mysql
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定