약 250,000 개의 레코드가있는 SQL 테이블을 검색하고 2 개의 필드 만 검색하는 LINQ 쿼리가 있습니다. 두 필드 모두 색인이 생성되었지만 여전히 느리게 실행됩니다.LINQ 쿼리 속도를 높이려면?
아래 코드는 누구나 속도를 높이기 위해 어떤 제안을 할 수 있습니까?
감사
var qryN = (
from bn in dbs.Uploads
orderby bn.ID descending
select new
{
ID = bn.ID,
Serial = bn.serial_no,
Manufacturer = bn.Mfgr,
Model = bn.model,
Code = bn.code,
Qty = bn.qty,
Description = bn.description,
Comments = bn.comments,
Location = bn.location,
Price = bn.price,
Email = "Register/Login for full details"
});
if (dlType.Text != " " && dlType.Text != "")
{
qryN = qryN.Where(bn => bn.Manufacturer == dlType.SelectedValue);
}
if (txtWord.Text != "")
{
qryN = qryN.Where(bn => bn.Description.Contains(txtWord.Text));
}
gvLoggedOff.DataSource =
from p in qryN
select new
{
p.ID,
p.Serial,
p.Manufacturer,
p.Model, p.Code,
p.Qty,
p.Description,
p.Comments,
p.Location,
p.Price,
p.Email
};
gvLoggedOff.DataBind(); var qryN = (
from bn in dbs.Uploads
orderby bn.ID descending
select new
{
ID = bn.ID,
Serial = bn.serial_no,
Manufacturer = bn.Mfgr,
Model = bn.model,
Code = bn.code,
Qty = bn.qty,
Description = bn.description,
Comments = bn.comments,
Location = bn.location,
Price = bn.price,
Email = "Register/Login for full details"
});
if (dlType.Text != " " && dlType.Text != "")
{
qryN = qryN.Where(bn => bn.Manufacturer == dlType.SelectedValue);
}
if (txtWord.Text != "")
{
qryN = qryN.Where(bn => bn.Description.Contains(txtWord.Text));
}
gvLoggedOff.DataSource =
from p in qryN
select new
{
p.ID,
p.Serial,
p.Manufacturer,
p.Model, p.Code,
p.Qty,
p.Description,
p.Comments,
p.Location,
p.Price,
p.Email
};
gvLoggedOff.DataBind();
생성 된 SQL을보고 프로파일 링 했습니까? –
'제조업체 '에 FK가 있습니까? –
Jon은 절대적으로 맞습니다. 귀하의 질문은 현재 매우 모호합니다. 우리는 LINQ to SQL, Entity Framework, Hibernate 등을 사용하는지 여부에 관계없이 데이터 모델이 어떻게 보이고, 무엇이 생성되는지 알지 못합니다. – Steven