婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解

MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解

熱門(mén)標(biāo)簽:智能電銷(xiāo)機(jī)器人靠譜么 安國(guó)在哪里辦理400電話 南宋地圖標(biāo)注黃河華山 昆明智能外呼系統(tǒng)中心 電銷(xiāo)機(jī)器人公眾號(hào)推送 電銷(xiāo)機(jī)器人說(shuō)明書(shū) 長(zhǎng)安區(qū)違法建房地圖標(biāo)注 手機(jī)用地圖標(biāo)注工具 地圖標(biāo)注培訓(xùn)

MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解

itemcontractprice數(shù)量1萬(wàn)左右,每條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,'外幣匯率調(diào)整,重新計(jì)算人民幣底價(jià)','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,'外幣匯率調(diào)整,重新計(jì)算人民幣底價(jià)','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,'外幣匯率調(diào)整,重新計(jì)算人民幣底價(jià)','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,'外幣匯率調(diào)整,重新計(jì)算人民幣底價(jià)','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,'外幣匯率調(diào)整,重新計(jì)算人民幣底價(jià)','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("底價(jià)更新和日志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("底價(jià)更新影響行數(shù):{0}", effctRows); 

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

之前是用EF操作,查詢出來(lái) ,要耗時(shí),然后再組裝 update語(yǔ)句 ,然后再插入日志(每條數(shù)據(jù)5條日志),這個(gè)網(wǎng)絡(luò)交互的時(shí)間加上數(shù)據(jù)庫(kù)連接打開(kāi)關(guān)閉的時(shí)間,總的執(zhí)行時(shí)間,大概10多分鐘。

用sql語(yǔ)句批量操作,可以說(shuō)效率提升了 40倍,就是大量數(shù)據(jù)的傳輸和數(shù)據(jù)庫(kù)的處理次數(shù)耗時(shí)。

所以說(shuō),軟件開(kāi)發(fā)不是開(kāi)發(fā)完成就行,而是要解決性能上的問(wèn)題,這才是開(kāi)發(fā)的進(jìn)階。

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

您可能感興趣的文章:
  • mysql大批量插入數(shù)據(jù)的4種方法示例
  • MYSQL批量插入數(shù)據(jù)的實(shí)現(xiàn)代碼
  • MySQL實(shí)現(xiàn)批量插入以優(yōu)化性能的教程
  • MySQL批量插入遇上唯一索引避免方法
  • Mysql使用insert插入多條記錄 批量新增數(shù)據(jù)
  • MYSQL開(kāi)發(fā)性能研究之批量插入數(shù)據(jù)的優(yōu)化方法
  • MySQL批量插入數(shù)據(jù)腳本
  • mysql 循環(huán)批量插入的實(shí)例代碼詳解
  • MySQL批量SQL插入性能優(yōu)化詳解
  • MySQL如何快速批量插入1000w條數(shù)據(jù)

標(biāo)簽:江門(mén) 南昌 武漢 東莞 吉安 合肥 長(zhǎng)沙 潛江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解》,本文關(guān)鍵詞  MySql,批量,插入,優(yōu)化,Sql,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySql批量插入優(yōu)化Sql執(zhí)行效率實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嘉荫县| 鹤庆县| 隆尧县| 柏乡县| 洛隆县| 浦江县| 东乌珠穆沁旗| 黄大仙区| 沿河| 鱼台县| 阿拉尔市| 香港 | 滕州市| 绿春县| 宁都县| 永吉县| 郧西县| 许昌县| 郧西县| 洞口县| 荃湾区| 遂川县| 通渭县| 廊坊市| 剑阁县| 鸡东县| 项城市| 平远县| 柳江县| 嘉兴市| 玉门市| 天津市| 婺源县| 托克逊县| 苍南县| 莱西市| 乐山市| 句容市| 柳河县| 元氏县| 旺苍县|