【发布时间】:2019-05-18 19:16:41
【问题描述】:
我在 Azure 中使用 MVC、EF & Repository 和数据库。我有一张桌子,只有 5 列。 ID、名称、消息、例外和其他详细信息。异常和其他细节,两者都是 varchar(max) 数据类型。现在,Exceptions 列的最大字符串长度为 2300 字,而 otherdetails 列的最大字符串长度为 1500 字。
谁能告诉我,找到整个数据的更快方法?因为现在我正在搜索一天的数据,所以执行需要将近 20 秒或更长时间。我在 SQL 中执行了相同的查询。但它花了同样的时间。另外,我尝试使用表格视图但同时执行。 这是我的代码 -
public IEnumerable<ErrorLogModel> GetErrorLogData(DateTime? startDate, DateTime? endDate)
{
return _unitOfWork.ErrorLogRepository.Get(e.Date >= startDate && e.Date <= endDate).Select(e => new ErrorLogModel
{
ID= e.ID,
name = e.name,
message= e.message,
Exceptions = e.Exceptions,
otherdetails = e.otherdetails
});
}
【问题讨论】:
-
我认为你的问题不是列中的大数据,而是记录数。您是否尝试过在
Date上建立索引? -
你的问题是关于 Sql 而不是 MVC。
-
是的:不要拉大字符串,只拉
message和任何更大的字符串仅应要求提供。 -
@Nick - 它正在工作......我只是忘记了它;-)
标签: c# sql asp.net-mvc entity-framework azure