日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 存储过程月单拆天单_为部门整理的mysql_db使用军规

發(fā)布時(shí)間:2025/4/16 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 存储过程月单拆天单_为部门整理的mysql_db使用军规 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mysql_db使用軍規(guī):

1、禁止開發(fā)測(cè)試人員在IDC環(huán)境手工刪除和修改數(shù)據(jù)

2、所有需求通過DB工具系統(tǒng)提交

3、禁止在IDC環(huán)境DB進(jìn)行測(cè)試

4、IDC環(huán)境提交的sql語句一定要經(jīng)過非正式環(huán)境驗(yàn)證,且經(jīng)過"explain sql;"檢驗(yàn)過執(zhí)行計(jì)劃有走索引

5、IDC環(huán)境庫表創(chuàng)建統(tǒng)一用小寫,庫表用英文簡(jiǎn)稱,力求精簡(jiǎn)

6、禁止web機(jī)器直連DB

7、每條記錄要保存數(shù)據(jù)的創(chuàng)建和修改時(shí)間,表通常要有主鍵,使用innodb引擎

8、IDC環(huán)境db只授權(quán)增查改,刪除權(quán)限D(zhuǎn)BA評(píng)估

9、預(yù)估和控制單表的數(shù)據(jù)量在百萬以內(nèi),數(shù)據(jù)量過大需清理或分表

10、IDC環(huán)境禁止使用mysql視圖,存儲(chǔ)過程,觸發(fā)器,自定義函數(shù)

一、表的一句話優(yōu)化

1.???int型不超過1000w,含char則不超過500w

數(shù)字和字符裝不下的情況,考慮多字段。

2.???按時(shí)間分表,按主鍵取模/hash分表,按量分表

紅包是按量來的。

3.???限制單庫表的數(shù)量在萬級(jí)以內(nèi)

4.???拒絕text和blob類型

實(shí)在避免不了要用text和blob類型,拆表吧。或者弄成本地保存,多機(jī)器分片存儲(chǔ)。

5.???分區(qū)的算法可以按時(shí)間

比如天、月,便于針對(duì)性的查詢,命中率100%

二、字段的一句話優(yōu)化

1長(zhǎng)度可以冗余,可適量10%左右

tinyint(1Byte)smallint(2Byte)mediumint(3Byte)int(4Byte)bigint(8Byte)認(rèn)清長(zhǎng)度,選擇好類型。

2你認(rèn)識(shí)null嗎?

避免使用NULL字段,因?yàn)镹ULL字段很難查詢優(yōu)化;NULL字段的索引需要額外空間;NULL字段的復(fù)合索引無效。

錯(cuò)誤的例子:`Fpacket_name` char(32) default null。

正確的例子:`Fpacket_name` varchar(60) NOT NULL DEFAULT ''。

`Fface_value` int(10) unsigned NOT NULLDEFAULT '0'。"

3業(yè)務(wù)上有關(guān)聯(lián)的字段,要定義相同類型

相同的類型做語句操作有助于提高操作效率,減少轉(zhuǎn)換成本。

4選擇類型請(qǐng)用數(shù)字、枚舉

數(shù)字表示意思的,來替代字符串。

正確的例子:性別,0男,1女;時(shí)間用時(shí)間戳的數(shù)字形式;IP用數(shù)字型等等。

三、語句的一句話優(yōu)化

1?????利用explain神器來優(yōu)化語句利弊

Type結(jié)果集:顯示連接使用了何種類型。從最好到最差的連接類型為const、eq_reg、ref、range、index和all。

2?????Truncate比delete要快

Delete計(jì)數(shù)器不清零,按行刪,慢。Truncate相當(dāng)于刪掉重建,最快。批量刪除最好導(dǎo)出有用數(shù)據(jù),然后刪掉舊表,新表重命名。

3?????用join代替子查詢

Join原理,nested loop。Left Join數(shù)據(jù)量小的在前面,Straight_JOIN。

4?????自帶函數(shù)運(yùn)算

不要讓MYSQL用自己函數(shù),他已經(jīng)很累,盡量在程序內(nèi)實(shí)現(xiàn),比如now(),放到程序里取到了再傳入給mysql處理。更不要在mysql去處理大邏輯運(yùn)算。

5?????要知道一條語句是依賴一個(gè)CPU內(nèi)核的

一條語句一個(gè)內(nèi)核,大語句可以拆開多語句,多核機(jī)共用,還可以減少mysql鎖時(shí)間。

6?????不要select *

除非你查詢的所有字段都要用到。。。。否則你占用這么多內(nèi)存,寬帶,CPU時(shí)間,IO干鳥蛋。

7?????如果能用in,就不要用or

or的時(shí)間復(fù)雜度是n,in的時(shí)間復(fù)雜度是log(n)。

錯(cuò)誤的例子:select Fpacket_name from t_account_packet where Fpacket_id =68698080 or Fpacket_id = 68711068;

正確的例子:select Fpacket_name from t_account_packet where Fpacket_id in(68698080,68711068);"

8?????如果能用union,就不要用or

和上邊同理

9?????合理使用limit

拍拍數(shù)據(jù)一般都是自增的,所以定位的話一般都要倒序來看最近時(shí)間的。但limit又是最慢的一個(gè)倒序合理結(jié)合limit的話,能體現(xiàn)出更高的效率。

最近的2個(gè)批次,正確的例子:select Fpacket_id from t_account_packet order by Fpacket_id desclimit 2;

錯(cuò)誤的思路:select count(*) from t_account_packet ; =>879446;

selectFpacket_id from t_account_packet limit 879444,879446;

最近的第2個(gè)批次,正確的例子:selectFpacket_id from t_account_packet order by Fpacket_id desc limit 1,1;"

錯(cuò)誤的思路:select count(*) from t_account_packet ; =>879446;

selectFpacket_id from t_account_packet limit 879444,879445;

10? 如果能用load data,就不要用insert

做幸運(yùn)占卜師活動(dòng)的時(shí)候,默認(rèn)是要載入很多血型和性格相關(guān)數(shù)據(jù)的。當(dāng)時(shí)用的是source+逐行insert方法導(dǎo)數(shù)據(jù),或者考慮load data,它的原理是在執(zhí)行l(wèi)oad之前,會(huì)關(guān)掉索引,當(dāng)load全部執(zhí)行完成后,再重新創(chuàng)建索引。而insert的原理是:每插入一條則更新一次數(shù)據(jù)庫,更新一次索引。所以要慢很多倍,具體多少倍,依賴待處理的數(shù)量級(jí)。

四、索引的一句話優(yōu)化

1.???盡量選擇區(qū)分度高的索引進(jìn)行檢索

錯(cuò)誤的例子:name。正確的例子:id。

2.???不易過多

表數(shù)據(jù)與索引的容量比保持在1:1,至少一條語句中存在一個(gè)索引。

3.???索引是從左向右原則

4.???利用explain神器來執(zhí)行和分析索引的覆蓋

5.???不要用索引字段做計(jì)算

你見過哪個(gè)應(yīng)急通道上,有自駕車站位的?

6.???要認(rèn)識(shí)他們MyISAM(重搜索), Innodb(默認(rèn),事務(wù)性、重業(yè)務(wù))

innodb主鍵推薦使用自增列

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的mysql 存储过程月单拆天单_为部门整理的mysql_db使用军规的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。