博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql多表联结
阅读量:7176 次
发布时间:2019-06-29

本文共 2022 字,大约阅读时间需要 6 分钟。

hot3.png

SELECT  row_number() OVER ( ORDER BY b.applicationmainCode DESC ) AS rowid ,        a.applicationdetailid ,        a.ApplicationMainCode ,        a.price ,        a.goodsnum ,        a.reciveNum ,        a.sendNum ,        a.PublicNum ,        a.Currency ,        a.equipment ,        a.equipmentnum ,        a.requiredate ,        a.des ,        c.suppliername ,        d.goodsname ,        d.standard ,        d.unit ,        d.productid ,        d.productArea ,        d.buyarea ,        e.paymenter ,        f.workunit ,        g.classname ,        b.Ausername ,        b.AworkUnit ,        b.applicationMaindate ,        b.buycode ,        UseProuduct ,        ProductCode ,        TSort ,        TsortChild ,        TSortNum ,        CASE WHEN tnewflag = 1 THEN '新'             ELSE '旧'        END AS tnewStatus ,        Tcontent ,        Tdes ,        d.price AS GPrice ,        CASE WHEN b.comfigflag = 0 THEN '是'             ELSE '否'        END AS comfigstatus ,        ( SELECT TOP 1                    getgoodsdate          FROM      instock          WHERE     applicationdetailid = a.applicationdetailid          ORDER BY  getgoodsdate        ) AS getgoodsdateFROM    Gr_dt_applicationDetail a        LEFT JOIN Gr_db_supplier c ON a.supplierid = c.supplierid        LEFT JOIN applicationMain b ON a.applicationmainCode = b.ApplicationMaincode        LEFT JOIN goods d ON a.goodsid = d.goodsid --#        LEFT JOIN Payment e ON b.paymentid = e.paymentid        LEFT JOIN workunit f ON b.UworkUnitId = f.workUnit_Id        LEFT JOIN goodstreeclass g ON b.classid = g.classidWHERE   a.applicationmainCode = b.ApplicationMaincode        AND a.goodsid = d.goodsid    --这个地方跟#处有点儿重复了,#处改成 inner join        AND 1 = 1        AND b.passflag >= 1ORDER BY b.applicationmainCode DESC

多表联结

SELECT ...  FROM a  JOIN  b  ON  (a.id   =  b.aid )   JOIN   c  ON  (a.id   =  c.aid )   JOIN   d  ON  (c.id   =  d.cid )

这样的语句,在数据量大,索引没维护好,想不慢都难呀。

通过执行计划检查性能低的位置,再考虑建索引,关联表太多考虑使用临时表。

转载于:https://my.oschina.net/u/347414/blog/176257

你可能感兴趣的文章
OSChina 周日乱弹 ——什么姑娘是女!王!大!人!
查看>>
OSChina 周二乱弹 —— 以后我偷小鱼干养你
查看>>
Limu:JavaScript的那些书
查看>>
自定义线程---无界队列作为承装任务
查看>>
Scala 学习笔记
查看>>
Ipython的 Debug 函数
查看>>
基于虹软sdk,java实现人脸识别(demo)
查看>>
Android模拟器入门
查看>>
ZOJ_1094/hdoj_1082_Matrix Chain Multiplication_...
查看>>
1040_As easy as A+B
查看>>
java8如何反射得到方法参数变量的名字
查看>>
Spring Data Redis 让 NoSQL 快如闪电 (1)
查看>>
git库detached heads问题处理
查看>>
String操作性能提升一
查看>>
服务器DNS选择的问题
查看>>
Centos Mysql 编译安装调试
查看>>
Midamble Allocation by layer 1
查看>>
孤荷凌寒自学python那些事第一天
查看>>
File server文件夹权限变更记录
查看>>
T-sql语句中GO的作用及语法
查看>>