linq关于where和join数据表关联的效率取舍
var gl_cx = from aa in cx_qtcx
                        join
     bb in cx_cxml on aa.医药机构目录名称 equals bb.药品名称
                        select new
                        {
                            aa,
                            bb
                        }; //join 完全匹配关联,即使几十万行与几万行的乘积行计算量,也能很快关联并计算
            
            /*
            var gl_cx = from aa in cx_qtcx
                        from bb in cx_cxml
                        where aa.医药机构目录名称.Contains(bb.药品名称) || bb.药品名称.Contains(aa.医药机构目录名称)
                        select new
                        {
                            aa,
                            bb
                        };//如果关联的数据量很大(两个数据表数据行的乘积),效率非常低下(但是能够进行复杂的等值关联)
                        */

            //错误的比较多,需要自己去删除不匹配的,超限部分,已有的限二级,加上不超过。。。月,再加上数据库表匹配(药品名称,获取每一个疾病,长度不足4个字符的取全部 超过的取前4个,
            //依次与数据库表中典型疾病或作用疗效中所有字符匹配,如果一个都匹配不上,则超限。超说明书类似,只是药品名称不同,取消限二级,限。。。月)
            foreach (var kk in gl_cx)
            {
               // if(kk.aa.医药机构目录名称.Contains(kk.bb.药品名称) || kk.bb.药品名称.Contains(kk.aa.医药机构目录名称))
                    if (kk.aa.医药机构目录名称==kk.bb.药品名称)
                    {
                    string 疾病集 = kk.aa.疾病名称.Trim().Replace(" ","");
                    string jbdq = kk.bb.作用功效.Trim().Replace(" ", "");

渝公网安备 50011902000225号

渝ICP备18008233号-1