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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

大数据之数据库mysql优化实战(一)

發布時間:2025/3/20 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据之数据库mysql优化实战(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

:facepunch:

大數據之數據庫mysql優化實戰(一)

首先你要有數據,不然怎么測試,幾百條就算了,還沒跑就完了。

  • 本章主題如何向數據庫插入10萬條數據

創建數據庫

CREATE TABLE `etcblacklist11` (`ID` int(24) NOT NULL AUTO_INCREMENT,`IssuerID` varchar(16) DEFAULT NULL,`NetNo` varchar(4) DEFAULT NULL,`CARDID` varchar(16) DEFAULT NULL,`ObuID` varchar(16) DEFAULT NULL,`License` varchar(25) DEFAULT NULL,`strID` varchar(2) DEFAULT NULL,`strTmp1` varchar(3) DEFAULT NULL,`strtime1` datetime DEFAULT NULL,`strTmp2` varchar(3) DEFAULT NULL,`strtime2` datetime DEFAULT NULL,`strTmp3` varchar(3) DEFAULT NULL,`strTmp4` varchar(3) DEFAULT NULL,`LicenseName` varchar(4) DEFAULT NULL,`LicenseNameA` varchar(4) DEFAULT NULL,`LicenseNameB` varchar(4) DEFAULT NULL,PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

書寫存儲過程(create procedure procefureName())

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`() BEGIN DECLARE IDs INT(11); DECLARE i INT; DECLARE CARDID VARCHAR(16); DECLARE IssuerID VARCHAR(16); DECLARE ObuID VARCHAR(16); DECLARE License VARCHAR(8); DECLARE strID VARCHAR(4); DECLARE strTmp1 VARCHAR(4); DECLARE strTmp2 VARCHAR(4); DECLARE strTmp3 VARCHAR(4); DECLARE NetNo VARCHAR(4); DECLARE LicenseName VARCHAR(2); DECLARE LicenseNameA VARCHAR(2); DECLARE LicenseNameB VARCHAR(2); SET IDs =11; SET LicenseName = '京'; SET strID = RIGHT(CONCAT('00',IDs),2); SET i=0; set strTmp1 = '1'; SET strTmp1 = CONCAT(strID,'1'); SET strTmp2 = CONCAT(strID,'2'); SET strTmp3 = CONCAT(strID,'3'); SET NetNo = CONCAT(strID,'01'); SET LicenseNameA = CONCAT(LicenseName,'A'); SET LicenseNameB= CONCAT(LicenseName,'B'); WHILE i<24315 DO SET CARDID = CONCAT(strTmp1,RIGHT(CONCAT('0000000000000',cast(i as char(16))),13)); SET IssuerID = CONCAT(strTmp2,RIGHT(CONCAT('0000000000000',cast(i as char(16))),13)); SET ObuID = CONCAT(strTmp3,RIGHT(CONCAT('0000000000000',cast(i as char(16))),13)); SET License = CONCAT(LicenseNameA,RIGHT(CONCAT('00000',cast(i as char(16))),5)); #SET CARDID = CONCAT('0847',cast(i as char(12))); INSERT INTO `ETCBlackList11`(IssuerID, NetNo, CARDID, ObuID, License,strID,strTmp1,strtime1,strTmp2,strtime2,strTmp3,strTmp4,LicenseName,LicenseNameA,LicenseNameB) VALUES (IssuerID, NetNo, CARDID, ObuID, License, '0', '0', '2000-01-01 00:00:00', '1', '2000-01-01 00:00:00', '測試', '16019', '0', '0', '0'); SET i = i + 1; END WHILE; END

存儲過程的優點

  • 可編寫邏輯比較復雜的數據庫操作語句,并具有可重用性
  • 存儲過程是已經預編后的sql語句,速度更快
  • 減輕網絡的負載,客戶計算機上調用該存儲過程時,網絡中傳送的只是該調用語句
  • 存儲過程可被作為一種安全機制來充分利用

創建數據庫注意事項

  • 盡量保證字段的存儲大小,不要設置的太大,帶來內存消耗
  • 存儲過程的變量名的大小也是如此

插入10W條數據分析

1: 總容量13.5M ,插入1W條數據 300s(隨著表數據量越大花費時間越長), 每條數據占1.7kb.

若有興趣,加群交流:181666459

轉載于:https://my.oschina.net/budaoniu/blog/647361

總結

以上是生活随笔為你收集整理的大数据之数据库mysql优化实战(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。