排序 table 百万行,LinQ 连接
Sort table with million rows , LinQ connection
我遇到了一个问题,不知道如何在 SQL 服务器 2012 中解决它,
我有 table 和 +5,000,000 行记录( ID , Link ),
但是当我查询select N row
时显示错误"Request timed out."
代码:
public void _Read()
{
LinQDataContext _DB = new LinQDataContext();
var _img = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel);
string _imghtml = "";
foreach (var item in _img)
{
_imghtml = _imghtml + "<a href=''><img src='" + item.Url_Image + "' alt=''></a>";
}
}
当前您正在获取完整的 HotelImage
个对象。也许它们也包含斑点?您应该通过选择 仅 Url_Image
来缩小从数据库中获取的数据的范围,因为这是您使用的唯一 属性:
var _img = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel)
.Select(x => x.Url_Image);
然后
_imghtml = _imghtml + "<a href=''><img src='" + item + "' alt=''></a>";
覆盖索引结合仅获取所需的列(如前所述)将带来最佳的性能改进:
索引:
CREATE INDEX IX_ID_Hotel ON YourTable(ID_Hotel)
INCLUDE (Url_Image)
您还应确保已处理上下文。我建议您使用字符串生成器而不是连接字符串。
string html;
var builder = new StringBuilder();
using (LinQDataContext _DB = new LinQDataContext())
{
var urls = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel)
.Select(x => x.Url_Image);
foreach (var url in urls)
{
builder.Append("<a href=''><img src='")
.Append(url)
.Append("'")
.Append("alt=''></a>");
}
}
html = builder.ToString();
我遇到了一个问题,不知道如何在 SQL 服务器 2012 中解决它,
我有 table 和 +5,000,000 行记录( ID , Link ),
但是当我查询select N row
时显示错误"Request timed out."
代码:
public void _Read()
{
LinQDataContext _DB = new LinQDataContext();
var _img = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel);
string _imghtml = "";
foreach (var item in _img)
{
_imghtml = _imghtml + "<a href=''><img src='" + item.Url_Image + "' alt=''></a>";
}
}
当前您正在获取完整的 HotelImage
个对象。也许它们也包含斑点?您应该通过选择 仅 Url_Image
来缩小从数据库中获取的数据的范围,因为这是您使用的唯一 属性:
var _img = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel)
.Select(x => x.Url_Image);
然后
_imghtml = _imghtml + "<a href=''><img src='" + item + "' alt=''></a>";
覆盖索引结合仅获取所需的列(如前所述)将带来最佳的性能改进:
索引:
CREATE INDEX IX_ID_Hotel ON YourTable(ID_Hotel)
INCLUDE (Url_Image)
您还应确保已处理上下文。我建议您使用字符串生成器而不是连接字符串。
string html;
var builder = new StringBuilder();
using (LinQDataContext _DB = new LinQDataContext())
{
var urls = _DB.HotelImages.Where(o => o.ID_Hotel == Hotel_DA.ID_Hotel)
.Select(x => x.Url_Image);
foreach (var url in urls)
{
builder.Append("<a href=''><img src='")
.Append(url)
.Append("'")
.Append("alt=''></a>");
}
}
html = builder.ToString();