【发布时间】:2015-01-03 18:48:41
【问题描述】:
我的 aspx 页面中有一个下拉列表。下拉列表的数据源是一个数据表。后端是 MySQL,记录通过存储过程到达数据表。
我想在下拉菜单中按升序显示记录。
我可以通过两种方式实现。
1) dt 是数据表,我正在使用 dataview 过滤记录。
dt = objTest_BLL.Get_Names();
dataView = dt.DefaultView;
dataView.Sort = "name ASC";
dt = dataView.ToTable();
ddown.DataSource = dt;
ddown.DataTextField = dt.Columns[1].ToString();
ddown.DataValueField = dt.Columns[0].ToString();
ddown.DataBind();
2) 或者在选择查询中我可以简单地说
SELECT
`id`,
`name`
FROM `test`.`type_names`
ORDER BY `name` ASC ;
如果我使用第二种方法,我可以简单地消除数据视图部分。假设这个 type_names 表有 50 条记录。我的页面每分钟有 100,000 名用户查看。考虑效率,内存处理的最佳方法是什么?将未排序的记录获取到数据表并在后面的代码中过滤或在数据表中对其进行排序?
【问题讨论】:
-
如果你一分钟有 100,000 个用户,你真的应该缓存数据,而不是每次都从 db 加载。
标签: c# mysql asp.net sorting datatable