我正在使用JQGrid控件。它非常强大,功能丰富。
现在我必须考虑两件事。
我的问题是我有两个选择来解决这个问题。
一种是使用C#LinqExtensions方法。
public static class LinqExtensions
{
public static IQueryable<T> OrderBy<T>(this IQueryable<T> query, string sortColumn, string direction)
{
...
}
public static IQueryable<T> Where<T>(this IQueryable<T> query,
string column, object value, WhereOperation operation)
{
....
}
}
另一种方法是使用允许解析参数值的存储过程,其中包括排序和搜索条件。
如果我将使用第二个选项,我不再需要依赖LinqExtension类。
哪些选项在Web应用程序和大数据量的性能方面最佳?
答案 0 :(得分:1)
这两种方法都很好,可以用于任何实时应用程序。关于这两种方法的几点意见。
StoredProcedure:每次编译功能强大。编写SP,以便根据分页和排序提供记录。使用CTE可以进一步提高性能。有关详细信息,请参阅http://www.sqlteam.com/article/server-side-paging-using-sql-server-2005。
如果您的数据库包含大量记录,这种方法将提高性能。
LinqExtensions :仍然是一个强大的功能,但它适用于小型数据库。如果数据量很大,您将看到其中的性能问题。
我个人的选择将是第一种方法。
希望它有所帮助。