我们偶尔会在“昂贵的查询”下的“活动监视器”中看到超过 11,000 个查询。
我看到在代码中一个查询正在循环中执行,我意识到这不是最好的方法(我没有写它,但可能需要修复它)。
我认为循环不会创建 11,000 次迭代,更像是一次 20 次。所以我的问题是,如果代码在 1/550 秒内执行 20 次查询,那会显示为每分钟 11,000 次执行吗?或者活动监视器真的意味着查询真的执行了 11,000 次?
DataTable JobsDT = new DataTable();
DataTable oqDT = new DataTable();
DataTable ePickupDT = new DataTable();
DataTable upDT = new DataTable();
JobsDT = Q.SelectRecords("SELECT [Quote]... etc etc etc" + ((Filters.Length > 0) ? Filters : "") + ") ORDER BY " + SortBy + " " + SortDirection);
oqDT=...;
ePickupDT=...;
upDT=...;
//Merge the datatables
DT.Merge(JobsDT);
DT.Merge(oqDT);
DT.Merge(ePickupDT);
DT.Merge(upDT);
//Build cart header
Cart += "<table id='CurrentOrdersDiv' style='font-family: Arial; font-size: small;' width='100%' cellpadding='2' cellspacing='0'>";
//Build cart body
for (int row = 0; row < DT.Rows.Count; row++)
{
try { Adjustment = (Q.SelectRecords("SELECT [PriceAdjustment] FROM [Media] WHERE [PriceAdjustment] > 0 AND [Quote] = " + Convert.ToInt32(DT.Rows[row]["Quote"])).Rows.Count > 0) ? true : false; } catch { }
//Create flags
}