Оптимизированный способ загрузки строк размером более 50 000 строк в jQuery DataTable для повышения производительности в приложении MVC Entity Framework - PullRequest
0 голосов
/ 01 апреля 2019

Я проверил много форумов и других вопросов, связанных с этой проблемой, но ни один не помог. Я пишу .net MVC приложение, которое использует платформу Entity. Для одного из действий контроллера я загружаю данные из хранимой процедуры, которая является просто оператором select и возвращает 50k + строк. На стороне сервера SQL производительность хорошая. Для извлечения строк требуется всего 3 секунды, но настоящая проблема возникает, когда страница загружается. Я использую jQuery datatable из Datatables.net, чтобы показать данные. Как я уже заметил, страница сначала загружает все строки, поэтому сначала я получаю бесконечную прокрутку, затем она применяет нумерацию страниц, которая идет с данными. Это займет вечность, чтобы загрузить его. Я пробовал обработку на стороне сервера, как это упоминается на сайте, я пробовал отложенный рендеринг, как упомянуто здесь https://www.datatables.net/examples/ajax/defer_render.html. никто не работал.

Код моего контроллера:

private DB_Entities db = new DB_Entities();
public ActionResult Staff()
        { 

            var DetailsData = new DataViewModel { IDDetails = db.Get_IDDetails().ToList<Get_IDDetails_Result>(), Name = "Staff" };
            return View(DetailsData );
        }

Код JS стола-погрузчика:

$(document).ready(function () {
    /*used to change default show entry value to 25*/
    $('#ex').dataTable({
        "processing": true,
        "serverSide": true,
        "deferLoading": 25
    });
});

CSHTML-код:

<tbody>

@foreach (var item in Model.IDDetails)
{
<tr>
<td>
  @Html.DisplayFor(modelItem => item.employeeName)
</td>
<td>
   @Html.DisplayFor(modelItem => item.EID)
</td>
<td>
    @Html.DisplayFor(modelItem => item.Accountid)
</td>
</tr>
 }

</tbody>

Любая идея, как я могу оптимизировать эти многочисленные строки или загрузить их лучше или любым другим способом, чтобы оптимизировать его ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...