gpt4 book ai didi

asp.net - 如何提高 ASP.NET MVC3 应用数据查询性能?

转载 作者:行者123 更新时间:2023-12-04 05:35:17 26 4
gpt4 key购买 nike

有一个基于 ASP.NET MVC3 的图书管理系统 web 应用程序。 点击图书索引页面时,数据查询很慢,用户需要等待几秒钟才能得到响应 . BookController中Action Index的代码如下:

    public ViewResult Index(string sortOrder, int? page)
{
ViewBag.NameSortParam = string.IsNullOrEmpty(sortOrder) ? "desc" : "";
ViewBag.CurrentSort = sortOrder;

BookModel books = from b in db.Books select b; // db = new BookContext();
switch (sortOrder) {
case "desc":
books = books.OrderByDescending(b => b.Name);
break;
default:
books = books.OrderBy(b => b.Name);
break;
}
int pageSize = 15;
int pageNumber = (page ?? 1);

return View(books.ToPagedList(pageNumber, pageSize));
}

在我看来,慢的主要原因是服务器直到所有数据都准备好才响应客户端 .这个过程需要很多时间。

不知道怎么解决这个问题,请问有没有什么方法可以提高这种情况下的数据查询性能?谢谢!

更新 :
后端数据库是 SQL Server Compact Edition 4.0

更新
我在下面更新了我的逻辑代码, orderby之前用过 skiptake声明。一切顺利。谢谢大家的帮助。
books = (from b in db.Books
orderby b.Name descending
select b)
.Skip((page - 1) * pageSize)
.Take(pageSize)
.ToList();

最佳答案

在将数据集过滤为您需要的数据之前,您正在加载所有书籍(使用 ToPagedList )。更改您的查询并使用 SkipTake方法而不是 ToPagedList .

关于asp.net - 如何提高 ASP.NET MVC3 应用数据查询性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com