none
对于数据库记录比较多时的分页查询优化 RRS feed

  • 问题

  • 我没有用绑定的方法显示记录,而是查询出来,但是速度慢了点。
    我的做法是
    (1)先把记录查询出来,放在"table"
            OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn);
            OleDbCommandBuilder build = new OleDbCommandBuilder(adapter);
            DataTable table= new DataTable();
    (2)再通过循环foreach (DataRow row in table.Rows),把属于我需要的页面(分页)的记录填在一个arraylist中
    foreach (DataRow row in table.Rows)
            {
                if ((i > (pageNo - 1) * pageSize - 1) && j < pageSize)//如果是我要的页面(比如第10页)的记录
                {
                    arraylist.Add(xxx);
                    j++;
                }
                i++;
            }
    感觉这样效率很低,不知道大家有没有什么好方法
    2010年1月4日 13:46

答案

全部回复