就是这样一种情况:2个实体1:N关系,比如一个用户,用户发表的文章
是1:N把,我是这样一般建的表
USER 表
USERID
USERNAME
USERPWD
USERINFO文章wenzhang 表:
WENID
TITLE
CONTENT
ADDTIME
USERID(外键做关联,标准的1:N关系处理)现在问题来了啊,数据小的时候查询某个用户发表的文章目录没什么,数据多了之后(比如几十万,打个比方)我怕查询效率很低,大家有什么好的方法处理这类问题啊?谢谢!我说的不对的地方尽管说

解决方案 »

  1.   

    上网查查分页存储过程的实现原理 
    select top 页大小 *
    from table1 
    where id>
    (select max (id) from 
    (select top ((页码-1)*页大小) id from table1 order by id) as T

      

  2.   

    要是上亿呢。呵呵在什么数量级下这样查询不会很慢?只是想知道,我做的基本不会超过百万,十几万了不的了,想知道下小于多少用这个问题不大<n  n=?
      

  3.   

    这是很正常的设计,没有什么问题。数据才几十万也不会慢看一下怎么优化sql语句,还要减少与数据库的连接次数(假如打开一个页面就要连接数据库NN次当然会慢)
    还有就是页面的呈现的技巧了,不需要一次把全部的呈现出来的。
      

  4.   

    页面先
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBind();//数据查询帮定
            }    }然后刷新不会再连接数据库查询了把?
      

  5.   

    我想了几个方法:
    减少不必要的回传
    优化SQL语句
    分页存储过程。。
    大家补充啊,谢谢
      

  6.   

    利用存储过程分页一部分一部查,然后对USERID做一个索引优化