C# 如何显示数千条记录?

C# 如何显示数千条记录?,c#,sql,sql-server,performance,C#,Sql,Sql Server,Performance,嗨 比如说,我必须为我的客户列出数千条记录。 我应该如何实现这一点?有人说我只需要从数据库中检索300或400条记录,然后将它们显示给客户机。但是我认为分页会有一些问题。如果我从数据库中获取所有记录,那么我将遇到性能问题。有人说要执行我们自己的存储过程。我该怎么做 谢谢你一定要使用分页,而不是一次检索所有记录,我建议使用一些ORM工具来抽象分页所需查询的复杂性,如果使用LINQ,它将非常简单:…跳过((pageNo-1)*pageSize)。获取(pageSize)您肯定必须使用分页,而不是一次

嗨 比如说,我必须为我的客户列出数千条记录。 我应该如何实现这一点?有人说我只需要从数据库中检索300或400条记录,然后将它们显示给客户机。但是我认为分页会有一些问题。如果我从数据库中获取所有记录,那么我将遇到性能问题。有人说要执行我们自己的存储过程。我该怎么做


谢谢你一定要使用分页,而不是一次检索所有记录,我建议使用一些ORM工具来抽象分页所需查询的复杂性,如果使用LINQ,它将非常简单:…跳过((pageNo-1)*pageSize)。获取(pageSize)

您肯定必须使用分页,而不是一次检索所有记录,我建议使用一些ORM工具来抽象分页所需查询的复杂性,如果使用LINQ,它将非常简单:…跳过((pageNo-1)*pageSize)。使用(pageSize)

我赞成用页面发送约100条记录,通过JavaScript对它们进行分页,当用户导航到卸载的数据时,以更高的数字(比如1000)检索批处理中的更多记录。如果您不能强制用户使用JavaScript,那么所有这些都没有脚本回退链接


(不知道使用C#框架有多容易;使用Java的Wicket,这很容易。)

我赞成在页面中发送约100条记录,用JavaScript对它们进行分页,并在用户导航到卸载的数据时以更高的数字(比如1000)批量检索更多记录。如果您不能强制用户使用JavaScript,那么所有这些都没有脚本回退链接


(不知道使用C#框架有多容易;使用Java的Wicket,这很容易。)

对记录进行分页!这将是唯一的解决方案(顺便说一句,你还没有尝试过!)。您可以添加按钮控件在页面之间移动,并在加载页面时将数据加载到页面。或者记录可以一次全部加载并由应用程序存储,在显示页面时只显示给用户。

对记录进行分页!这将是唯一的解决方案(顺便说一句,你还没有尝试过!)。您可以添加按钮控件在页面之间移动,并在加载页面时将数据加载到页面。或者记录可以一次全部加载并由应用程序存储,在显示页面时只显示给用户。

分页肯定是一个答案。但是-在SQL存储过程中进行所有匹配。。而不是依赖于GridView默认分页


如果您不想使用分页(一些客户端非常坚持显示所有记录),那么可以使用Scroll事件动态获取记录。如果您使用的是Web应用程序,那么可以使用Ajax调用通过传递pageNo、pagesize等来获取下一组记录。

分页肯定是一个解决方案。但是-在SQL存储过程中进行所有匹配。。而不是依赖于GridView默认分页


如果您不想使用分页(一些客户端非常坚持显示所有记录),那么可以使用Scroll事件动态获取记录。如果使用Web应用程序,则可以使用Ajax调用通过传递pageNo、pagesize等获取下一组记录。

WinForms、Web Forms、XAML。。。你的用户界面是什么?是什么让你相信分页会有问题?如果不使用分页,您如何知道会出现性能问题?是否使用存储过程取决于您自己,它对您是否可以在一次连接上放置数千条记录没有影响。我建议不要去考虑“一些人说了什么”,而是去考虑你当前项目的实际需求。它们是什么?您可以在客户端上一次显示几十条/百条/千条记录,也可以一次加载全部记录。如果您想给人一种性能更好的假象,可以先加载前一百条左右的记录,然后获取一个后台线程来获取其余记录(可能需要多次迭代)并更新列表,而用户已经可以看到一些结果。@paul>>我的是Web表单@皮特>>我想为我的客户列出音乐歌曲。这些歌曲可能多达200000首。WinForms、Web Forms、XAML。。。你的用户界面是什么?是什么让你相信分页会有问题?如果不使用分页,您如何知道会出现性能问题?是否使用存储过程取决于您自己,它对您是否可以在一次连接上放置数千条记录没有影响。我建议不要去考虑“一些人说了什么”,而是去考虑你当前项目的实际需求。它们是什么?您可以在客户端上一次显示几十条/百条/千条记录,也可以一次加载全部记录。如果您想给人一种性能更好的假象,可以先加载前一百条左右的记录,然后获取一个后台线程来获取其余记录(可能需要多次迭代)并更新列表,而用户已经可以看到一些结果。@paul>>我的是Web表单@皮特>>我想为我的客户列出音乐歌曲。这些歌曲可能多达20万首。>>我不知道林克。我只是使用类型化数据集。>>我不知道LINQ。我只是在使用类型化数据集。我的记录最终可能会达到200000。因此,我认为我不应该一次加载所有内容。你认为我该怎么办?我的记录最终可能达到20万。因此,我认为我不应该一次加载所有内容。你觉得我该怎么办?