SQL-запрос занимает 25 секунд в ASP.NET для загрузки страницы - PullRequest
0 голосов
/ 16 ноября 2018

Как повысить скорость загрузки страницы, чтобы получить данные как можно раньше?

select B.bdregno, B.srno, B.bdbillno, B.bdfees as bdfees, B.bdqty as bdqty,
       B.bdrcode as bdrcode, B.bdtno as bdtno, B.bdvdate as bdvdate, T.TNAME as TNAME 
from dbo.[test] T full outer join 
     dbo.[billdet] B 
     on T.TCODE = B.bdtcode 
where" + qr + " bdregno='" + hdfregno.Value + "' 
order by bdvdate asc, srno

Запрос выполняется в SQL Server быстро, но в приложении ASP.NET загрузка страницы занимает около 25 секунд.

1 Ответ

0 голосов
/ 16 ноября 2018

Во-первых, я сомневаюсь, что вы действительно хотите полное внешнее соединение.Я предполагаю, что left join достаточно:

select B.bdregno, B.srno, B.bdbillno, B.bdfees, B.bdqt,
       B.bdrcode, B.bdtno, B.bdvdate, T.TNAME 
from dbo.[billdet] B left join
     dbo.[test] T 
     on T.TCODE = B.bdtcode 
where b.bdregno = ?  --'" + hdfregno.Value + "' 
order by b.bdvdate asc, srno

Для этого запроса вы хотите индексы на billdet(bdregno, bdtcode).Движок все равно должен будет выполнить слияние.

Обратите внимание, что вы должны передавать значение в качестве параметра , а не обрабатывать строку запроса.

...