我希望在包含六列和一万行的表中存储大量数据(文本)。
我将以编程方式构建表。 (这意味着我希望能够随时添加行)
数据表是我最好的选择吗?我打算将它绑定到Telerik Grid Control for ASP.NET
我想知道我最好再去参加另一种我不知道的课程。
我将使用控件能力进行排序和分页,但我不知道这对底层对象是否过重。
当我说效率时,应该考虑检索,然后存储然后编程时间。
答案 0 :(得分:4)
我将创建一个具有表示这六行的属性的类,然后在List中使用它。很快:
public class Result
{
public string Title { get; set; }
public double Score { get; set; }
public string Summary { get; set; }
// etc.
public Result(string title, double score, string summary)
{
Title = title;
Score = score;
Summary = summary;
}
public Result() { }
}
public class Test
{
public static IList<Result> GetResults()
{
List<Result> results = new List<Result>();
results.Add(new Result("First result", 0.914, "This is the summary"));
results.Add(new Result("Second result", 0.783, "More summary...."));
results.Add(new Result { Title = "Third", Score = 0.54, Summary = "Anonymous I am..." });
// etc
return results;
}
}
然后,您可以枚举List集合或将其绑定到数据绑定控件或将其与LINQ等一起使用。
答案 1 :(得分:2)
首先,执行Dan Diplo所描述的内容。 DataTable是DataSet类的基础数据结构。 DataSet因内存使用效率低而臭名昭着。
其次,为了保持快速:不要将所有10,000条记录都返回到一页。在分页网格中一次显示一个子集(如20)。您必须传递的数据越少,解析得越好。
接下来,如果可能,请在网格上关闭视图状态。 ViewState可以扩大您的页面大小(在某些情况下为2倍或更差)。这对浏览器(查看页面)和服务器(必须重新加载所有ViewState数据)都是一个问题。尽量避免使用它。
如果您必须拥有ViewState,并且性能仍然存在并且出现问题,请将ViewState移至服务器,因此不会将其传递给浏览器。
答案 2 :(得分:1)
如果您希望在多用户环境中的编程时间或检索时间方面高效,则应考虑使用SQL Server。
答案 3 :(得分:0)
使用数据库。