这很长但我必须写
1.我在网站上有 100000个产品 数据库大小 7705.13 MB 并使用sql server express
现在,在我们将数据加载到会话中以便在一个会话中 100000个产品并根据需要对其进行过滤,就像我只需要 30在一个页面所以我将采取它和其他人会根据要求加载但是有一个性能问题,所以我们转向查询,现在我们使用类似的功能
http://data.stackexchange.com/stackoverflow/query/84211/pagination-through-sql-query
现在,分页和排序很擅长表现 真正的问题我注意到页面在30s之前加载到它现在减少到12s但是它的加载时间很长,所以我决定分析它
所以我在sql中执行我的查询需要00:00:00秒执行,但是从c#调试时需要 8秒或 10秒来加载数据到数据表中所以我认为要标记这一点的任何建议吗?或者还有其他情况?任何帮助都会被批准
public DataTable Load(string banner_type, int tag)
{
SqlDataAdapter dad = new SqlDataAdapter("index_master", cn);
dad.SelectCommand.CommandType = CommandType.StoredProcedure;
dad.SelectCommand.Parameters.AddWithValue("@condition", banner_type);
dad.SelectCommand.Parameters.AddWithValue("@tag", tag);
DataSet dset = new DataSet();
try
{
if (cn.State == ConnectionState.Closed)
cn.Open();
dad.Fill(dset, "banner_master");
return dset.Tables["banner_master"];
}
catch
{
throw;
}
finally
{
dset.Dispose();
dad.Dispose();
cn.Close();
cn.Dispose();
}
}
我在我的整个网站上使用此方法来加载。提前致谢 的 [更新]
如果情况确实如此,我已经缩小了我的数据库,我不知道是否存在性能问题
我的数据库产品结构 * [查询] *
SELECT TOP (100) PERCENT dbo.product_master.product_id, dbo.product_master.product_name , dbo.product_master.recommended_pro5, dbo.product_master.discount_group_id, dbo.product_master.active,''sale'' AS price_type, dbo.product_master.up_date,dbo.category_master.category_id, dbo.shipping_rule_master.shipping_id from product_master inner join.......