苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 22347|回复: 5

[求助] 两个表链接查询,怎么根据子表的字段查询并分页?

[复制链接]
发表于 2016-8-23 15:01:22 | 显示全部楼层 |阅读模式
分布式框架,两个表链接查询,怎么根据子表的字段查询并分页?


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-8-23 15:22:37 | 显示全部楼层
分布式框架不支持连接查询,只支持同步表,就是将所有查询条件,以服务的方法同步到一张表中进行直接查询。
发表于 2016-8-23 15:23:49 | 显示全部楼层
如果你确定这两个表以后一定会在同个实例下的话,可以这样做,但这样就破坏了分布式的结构。直接使用Sql语句链表查询就行了。
发表于 2016-9-3 09:43:27 | 显示全部楼层
站长苏飞 发表于 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:34 | 显示全部楼层
刹那的菜鸟37 发表于 2016-9-3 09:43
Sql语句链表查询, 我试过 要是数据多的情况下,会有循环遍历, 这样每次都会访问一次数据库读取, 时间 ...

怎么可能,分布式框架命令禁止,在循环里链接数据库,你自己看下你发的代码有没有访问数据加就明白了。这很明显没有访问数据库的代码,呵呵
发表于 2016-9-3 11:55:00 | 显示全部楼层
站长苏飞 发表于 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的话 可以用那个缓存类吗?  
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-25 02:59

© 2014-2021

快速回复 返回顶部 返回列表