我的aspx页面中有一个下拉列表。下拉列表的数据源是一个datatable。后端使用的是MySQL,通过使用存储过程将记录传输到datatable中。
我想以升序方式在下拉菜单中显示记录。
我可以通过两种方式实现这个目标。
1)dt是datatable,我正在使用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 ;
如果我使用第二种方法,我可以简单地消除dataview部分。假设这个type_names表有50条记录。而我的页面每分钟被10万个用户查看。就效率和内存处理来考虑,什么是最好的方法?在代码后端获取未排序的记录并过滤,还是在数据库内对其进行排序?