苏飞论坛

标题: 两个表链接查询,怎么根据子表的字段查询并分页? [打印本页]

作者: cs-kevin    时间: 2016-8-23 15:01
标题: 两个表链接查询,怎么根据子表的字段查询并分页?
分布式框架,两个表链接查询,怎么根据子表的字段查询并分页?

作者: 站长苏飞    时间: 2016-8-23 15:22
分布式框架不支持连接查询,只支持同步表,就是将所有查询条件,以服务的方法同步到一张表中进行直接查询。
作者: 站长苏飞    时间: 2016-8-23 15:23
如果你确定这两个表以后一定会在同个实例下的话,可以这样做,但这样就破坏了分布式的结构。直接使用Sql语句链表查询就行了。
作者: 刹那的菜鸟37    时间: 2016-9-3 09:43
站长苏飞 发表于 2016-8-23 15:23
如果你确定这两个表以后一定会在同个实例下的话,可以这样做,但这样就破坏了分布式的结构。直接使用Sql语 ...

Sql语句链表查询, 我试过 要是数据多的情况下,会有循环遍历, 这样每次都会访问一次数据库读取, 时间耗费很多。  有没有什么好的办法解决呢? 或者说分布式里面有没有更好的缓存消息队列处理机制?  好像现在的论坛分布式很多还不够。
[C#] 纯文本查看 复制代码
foreach (Members member in memberList)
            {
                List<int> nlist = new List<int>();
                Dictionary<int,int> dic=new Dictionary<int, int>();
                double  num=0;
                //GetSubId(member.UserId, ref nlist);  久
                GetSubIdNew(member.UserId, ref nlist,ref dic);
                if (nlist != null) num = nlist.Count;
                //将得到的子表数据直接添加的主表。完美解决子查询和链表问题
                member.AddExData("downmembernum", num);//下级会员数量
            }

作者: 站长苏飞    时间: 2016-9-3 10:41
刹那的菜鸟37 发表于 2016-9-3 09:43
Sql语句链表查询, 我试过 要是数据多的情况下,会有循环遍历, 这样每次都会访问一次数据库读取, 时间 ...

怎么可能,分布式框架命令禁止,在循环里链接数据库,你自己看下你发的代码有没有访问数据加就明白了。这很明显没有访问数据库的代码,呵呵
作者: 刹那的菜鸟37    时间: 2016-9-3 11:55
站长苏飞 发表于 2016-9-3 10:41
怎么可能,分布式框架命令禁止,在循环里链接数据库,你自己看下你发的代码有没有访问数据加就明白了。这 ...

里面的代码
[C#] 纯文本查看 复制代码
/// <summary>
        /// 查询会员id 速度更快 过滤
        /// </summary>
        /// <param name="userIdlist">Id列表</param>
        /// <returns></returns>
        public Dictionary<int, int> FindListDic(int subUserId)
        {
            var sql = "SELECT userid,typelevel FROM [aspnet_Members] WHERE subUserId=@subUserId ";
            return FindListDic(sql, CommandType.Text, UtilDAL.CreateParameter("subUserId", subUserId));
        }

就相当于查出符合条件的user  然后再遍历这些list  然后每次再查关联的下级user信息的话,这样不是循环访问数据库了吗?    我这现在只是同一个表,或许可以用数据库里面的函数处理, 但是要是查询用户订单的话,就是不一样了。     请教下 mvc的话 可以用那个缓存类吗?  




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4