亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySql批量插入優化Sql執行效率實例詳解

2024-07-24 13:13:08
字體:
來源:轉載
供稿:網友

MySql批量插入優化Sql執行效率實例詳解

itemcontractprice數量1萬左右,每條itemcontractprice 插入5條日志。

updateInsertSql.AppendFormat("UPDATE itemcontractprice AS p INNER JOIN foreigncurrency AS f ON p.ForeignCurrencyId = f.ContractPriceId SET p.RemainPrice = f.RemainPrice * {0},p.BuyOutPrice = f.BuyOutPrice * {0},p.ReservedPrice = f.ReservedPrice * {0},p.CollectedPrice = f.CollectedPrice * {0},p.AccessPrice = f.AccessPrice * {0} WHERE p.CurrencyId = {1} AND p.date BETWEEN '{2:yyyy-MM-dd}' AND '{3:yyyy-MM-dd}';", rate.ExchangeRate, exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate);  updateInsertSql.AppendFormat("INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 0,c.RemainPrice,f.RemainPrice,c.RemainIsExpire,'外幣匯率調整,重新計算人民幣底價','job',0,NOW(),5,c.ProviderId,c.StageId,c.Date,c.CurrencyId,c.ContractPriceId,0,c.ItemId FROM itemcontractprice AS c INNER JOIN foreigncurrency AS f ON c.ForeignCurrencyId = f.ContractPriceId WHERE c.CurrencyId={0} AND c.date BETWEEN '{1:yyyy-MM-dd}' AND '{2:yyyy-MM-dd}';", exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate);  updateInsertSql.AppendFormat(" INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 1,c.BuyOutPrice,f.BuyOutPrice,c.BuyOutIsExpire,'外幣匯率調整,重新計算人民幣底價','job',0,NOW(),5,c.ProviderId,c.StageId,c.Date,c.CurrencyId,c.ContractPriceId,0,c.ItemId FROM itemcontractprice AS c INNER JOIN foreigncurrency AS f ON c.ForeignCurrencyId = f.ContractPriceId WHERE c.CurrencyId={0} AND c.date BETWEEN '{1:yyyy-MM-dd}' AND '{2:yyyy-MM-dd}';", exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate);  updateInsertSql.AppendFormat("INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 2,c.ReservedPrice,f.ReservedPrice,c.ReservedIsExpire,'外幣匯率調整,重新計算人民幣底價','job',0,NOW(),5,c.ProviderId,c.StageId,c.Date,c.CurrencyId,c.ContractPriceId,0,c.ItemId FROM itemcontractprice AS c INNER JOIN foreigncurrency AS f ON c.ForeignCurrencyId = f.ContractPriceId WHERE c.CurrencyId={0} AND c.date BETWEEN '{1:yyyy-MM-dd}' AND '{2:yyyy-MM-dd}';", exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate);  updateInsertSql.AppendFormat("INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 3,c.CollectedPrice,f.CollectedPrice,c.CollectedIsExpire,'外幣匯率調整,重新計算人民幣底價','job',0,NOW(),5,c.ProviderId,c.StageId,c.Date,c.CurrencyId,c.ContractPriceId,0,c.ItemId FROM itemcontractprice AS c INNER JOIN foreigncurrency AS f ON c.ForeignCurrencyId = f.ContractPriceId WHERE c.CurrencyId={0} AND c.date BETWEEN '{1:yyyy-MM-dd}' AND '{2:yyyy-MM-dd}';", exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate); updateInsertSql.AppendFormat("INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 4,c.AccessPrice,f.AccessPrice,c.AccessIsExpire,'外幣匯率調整,重新計算人民幣底價','job',0,NOW(),5,c.ProviderId,c.StageId,c.Date,c.CurrencyId,c.ContractPriceId,0,c.ItemId FROM itemcontractprice AS c INNER JOIN foreigncurrency AS f ON c.ForeignCurrencyId = f.ContractPriceId WHERE c.CurrencyId={0} AND c.date BETWEEN '{1:yyyy-MM-dd}' AND '{2:yyyy-MM-dd}';", exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate); //var curContractPriceList = itemContractPriceList.Where(o => o.CurrencyId == exchangeRate.CurrencyId && o.Date >= rate.BeginDate && o.Date <= rate.EndDate).ToList(); logger.InfoFormat("底價更新和日志sql:{0}", updateInsertSql.ToString()); //if (curContractPriceList.Count == 0) continue; int effctRows = 0; using (var tran = UnitOfWorkManager.Begin()) {   effctRows = taskRepository.ExecuteSql(updateInsertSql.ToString(), false);   tran.Complete(); } logger.InfoFormat("底價更新影響行數:{0}", effctRows); 

正常情況下大概20秒鐘就ok.

之前是用EF操作,查詢出來 ,要耗時,然后再組裝 update語句 ,然后再插入日志(每條數據5條日志),這個網絡交互的時間加上數據庫連接打開關閉的時間,總的執行時間,大概10多分鐘。

用sql語句批量操作,可以說效率提升了 40倍,就是大量數據的傳輸和數據庫的處理次數耗時。

所以說,軟件開發不是開發完成就行,而是要解決性能上的問題,這才是開發的進階。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产成人精品| 亚洲人午夜精品免费| 欧美裸体xxxx极品少妇软件| 国产精品第1页| 久久久久久国产免费| 国产视频福利一区| 欧美国产在线电影| 亚洲欧洲一区二区三区久久| 欧美一区二区视频97| 国产婷婷成人久久av免费高清| 欧美性做爰毛片| 92看片淫黄大片看国产片| 国产日产亚洲精品| 国产精品久久久久91| 久久久久久久久久久国产| 91中文字幕在线观看| 久久中国妇女中文字幕| 欧美视频一区二区三区…| 亚洲国产日韩欧美在线99| 久久久久久国产精品久久| 2018中文字幕一区二区三区| 亚洲无av在线中文字幕| 亚洲精品黄网在线观看| 久久久国产精品亚洲一区| 国产精品91久久久久久| 日韩av片永久免费网站| 亚洲经典中文字幕| 久久精品久久久久| 国产精品一区二区三区免费视频| 亚洲一区二区自拍| 日韩中文字在线| 国产精品69精品一区二区三区| 热久久视久久精品18亚洲精品| 久久99青青精品免费观看| 亚洲精品国产综合区久久久久久久| 久久久av一区| 亚洲精品资源美女情侣酒店| 亚洲美女视频网| 国产精品91在线| 一区二区三区天堂av| 日韩视频在线免费| 日韩中文字幕国产精品| 欧美高清激情视频| 久久综合九色九九| 久久久久北条麻妃免费看| 亚洲精品在线观看www| 丝袜美腿亚洲一区二区| 久久高清视频免费| 亚洲欧美中文字幕| 国产午夜精品久久久| 国产成人综合久久| 秋霞成人午夜鲁丝一区二区三区| 97在线免费视频| 欧美第一页在线| 日本精品久久中文字幕佐佐木| 永久555www成人免费| 日韩欧美国产网站| 91国语精品自产拍在线观看性色| 日韩精品免费综合视频在线播放| 日韩中文字幕av| 久久香蕉频线观| 91大神在线播放精品| 欧美久久精品午夜青青大伊人| 久久久免费观看视频| 麻豆国产精品va在线观看不卡| 亚洲第一免费播放区| 欧美激情视频一区二区三区不卡| 欧美小视频在线| 欧美日韩免费在线| 亚洲国产精品久久精品怡红院| 都市激情亚洲色图| 97色在线观看免费视频| 欧美一区二区三区精品电影| 国产欧美在线视频| 欧美乱大交xxxxx另类电影| 亚洲japanese制服美女| 欧美激情图片区| 国产精品爽爽ⅴa在线观看| 不卡中文字幕av| 欧美xxxx做受欧美.88| 欧美性猛交xxxx乱大交极品| 欧美有码在线视频| 久久69精品久久久久久久电影好| 亚洲天堂视频在线观看| 精品久久久久久中文字幕大豆网| 亚洲欧美国产一区二区三区| 精品在线小视频| 国产亚洲精品久久久久久777| 欧美高清在线观看| 国产日韩精品在线播放| 亚洲最大中文字幕| 久久福利视频导航| 亚洲国产精品视频在线观看| 国产大片精品免费永久看nba| 欧美有码在线观看| 精品久久久久久久久久ntr影视| 91精品国产综合久久香蕉922| 亚洲精品99久久久久中文字幕| 欧美在线视频导航| 国产精品九九九| 国产精品美女免费看| 欧美激情亚洲精品| 亚洲国产中文字幕在线观看| 精品久久中文字幕久久av| 97涩涩爰在线观看亚洲| 久久97久久97精品免视看| 96pao国产成视频永久免费| 欧美裸体男粗大视频在线观看| 欧美成人亚洲成人日韩成人| 欧美性极品xxxx娇小| 久久久爽爽爽美女图片| 欧美日韩亚洲视频| 国产日韩专区在线| 日韩性xxxx爱| 亚洲国产另类 国产精品国产免费| 国产视频丨精品|在线观看| 亚洲成年人在线播放| 国产欧美日韩丝袜精品一区| 亚洲成av人影院在线观看| 国产精品一二三视频| 91九色综合久久| 国产网站欧美日韩免费精品在线观看| 成人免费看片视频| 国产精品成人v| 久久久电影免费观看完整版| 欧美精品在线免费观看| 91av在线免费观看视频| 亚洲变态欧美另类捆绑| 2018中文字幕一区二区三区| 久热在线中文字幕色999舞| 欧美黑人一区二区三区| 欧美最猛性xxxxx亚洲精品| 日韩高清免费在线| 国产精品成久久久久三级| 亚洲九九九在线观看| 国产欧美日韩亚洲精品| 一区二区在线视频播放| 午夜免费在线观看精品视频| 91成人天堂久久成人| 国产人妖伪娘一区91| 精品久久久久国产| 久久精品99无色码中文字幕| 日韩最新av在线| 亚洲男人天堂手机在线| 欧美激情亚洲一区| 亚洲精品成a人在线观看| 欧美激情成人在线视频| 国产视频久久久久| 国产精品视频一区二区三区四| 日韩在线观看网站| 亚洲精品国产成人| 国产精品视频自拍| 午夜精品国产精品大乳美女| 亚洲在线免费视频| 欧美精品在线观看91| 久久精品国产精品| 中文字幕亚洲一区| 国产精品一区二区久久久久| 精品视频在线导航| 亚洲精品视频久久| 81精品国产乱码久久久久久| 欧美老女人在线视频| 国产精品女人久久久久久| 91久久精品久久国产性色也91|