sql 优化
时间:2011-10-13
来源:互联网
SELECT
A.MSG_ID as msgId
,B.QUERY_MODE_ID as querymodeId
,M.QUERY_MODE_NAME as querymodeName
,B.CLIENTELE_ID as clienteleId
,C.CLIENTELE_NAME as clienteleName
,B.MEDIA_ID as mediaId
,G.Media_Name as mediaName
,B.MAGAZINEID as magazineId
,E.MAGAZINE_NAME as magazineName
,T.DELIVER_TYPE_NAME AS deliverTypeName2
,P.DELIVER_PLACE_NAME as deliverPlaceName
,B.PROBLEM_ID1 as problemId1
--,(SELECT PROBLEM_NAME FROM TB_PROBLEM_TYPE WHERE PROBLEM_ID = B.PROBLEM_ID1) as problemName1
,B.PROBLEM_ID2 as problemId2
--,(SELECT PROBLEM_NAME FROM TB_PROBLEM_TYPE WHERE PROBLEM_ID = B.PROBLEM_ID2) as problemName2
,B.CONTENT as content
,A.PERIODICAL_ID as periodicalId
--,(SELECT PERIODICAL_NO FROM TB_MAGAZINE_PERIODICAL WHERE PERIODICAL_ID = A.PERIODICAL_ID) as periodicalNo
,A.DELIVER_TYPE_ID as deliverTypeId
,T2.DELIVER_TYPE_NAME as deliverTypeName
,B.FROM_TELE as fromTele
--,(SELECT PROVINCE_NAME FROM TB_PROVINCE WHERE N.PROVINCE_ID = PROVINCE_ID) AS provinceName
--,(SELECT TOWN_NAME FROM TB_TOWN WHERE TOWN_ID = N.TOWN_ID AND N.PROVINCE_ID = PROVINCE_ID) AS townName
--,(SELECT AREA_NAME FROM TB_AREA WHERE AREA_ID = N.AREA_ID AND TOWN_ID = N.TOWN_ID) AS areaName
,A.POST_STATUS
,A.ADD_USER_ID as addUserId
--,(SELECT REALNAME FROM TB_USER WHERE USERID = A.ADD_USER_ID) AS addUserName
,A.ADD_TIME as addTime
--,(SELECT COUNT(ADDITIONAL_ID) FROM TB_ISSUE_ADDITIONAL WHERE ORDER_ID = A.ORDER_ID ) AS orderIdcnt
FROM
SEEC_SERVICE.TB_ISSUE_ADDITIONAL A
LEFT JOIN SEEC_SERVICE.TB_MSG B ON B.MSG_ID = A.MSG_ID
LEFT JOIN SEEC_SERVICE.TB_ORDER O ON O.ORDER_ID = A.ORDER_ID
LEFT JOIN SEEC_SERVICE.TB_CLIENTELE C ON B.CLIENTELE_ID = C.CLIENTELE_ID
LEFT JOIN SEEC_SERVICE.TB_QUERY_MODE M ON M.QUERY_MODE_ID = B.QUERY_MODE_ID
LEFT JOIN SEEC_SERVICE.TB_MAGAZINE E ON B.MAGAZINEID = E.MAGAZINE_ID
LEFT JOIN SEEC_SERVICE.TB_MEDIA G ON B.MEDIA_ID = G.MEDIA_ID
LEFT JOIN TB_DELIVER_TYPE T ON T.DELIVER_TYPE_ID = O.DELIVER_TYPE_ID
LEFT JOIN TB_DELIVER_TYPE T2 ON T2.DELIVER_TYPE_ID = A.DELIVER_TYPE_ID
LEFT JOIN TB_DELIVER_PLACE P ON P.DELIVER_PLACE_ID = O.DELIVER_PLACE_ID
LEFT JOIN TB_CLIENTELE_ADDRESS N ON (N.CLIENTELE_ID = A.CLIENTELE_ID AND N.IS_DEFAULT = 1 AND N.IS_INVALID = 1)
WHERE
1=1
ORDER BY A.ADDITIONAL_ID DESC
这段sql 查询8000多条数据用18s, 谁能给优化下,谢谢。 加上注掉的
A.MSG_ID as msgId
,B.QUERY_MODE_ID as querymodeId
,M.QUERY_MODE_NAME as querymodeName
,B.CLIENTELE_ID as clienteleId
,C.CLIENTELE_NAME as clienteleName
,B.MEDIA_ID as mediaId
,G.Media_Name as mediaName
,B.MAGAZINEID as magazineId
,E.MAGAZINE_NAME as magazineName
,T.DELIVER_TYPE_NAME AS deliverTypeName2
,P.DELIVER_PLACE_NAME as deliverPlaceName
,B.PROBLEM_ID1 as problemId1
--,(SELECT PROBLEM_NAME FROM TB_PROBLEM_TYPE WHERE PROBLEM_ID = B.PROBLEM_ID1) as problemName1
,B.PROBLEM_ID2 as problemId2
--,(SELECT PROBLEM_NAME FROM TB_PROBLEM_TYPE WHERE PROBLEM_ID = B.PROBLEM_ID2) as problemName2
,B.CONTENT as content
,A.PERIODICAL_ID as periodicalId
--,(SELECT PERIODICAL_NO FROM TB_MAGAZINE_PERIODICAL WHERE PERIODICAL_ID = A.PERIODICAL_ID) as periodicalNo
,A.DELIVER_TYPE_ID as deliverTypeId
,T2.DELIVER_TYPE_NAME as deliverTypeName
,B.FROM_TELE as fromTele
--,(SELECT PROVINCE_NAME FROM TB_PROVINCE WHERE N.PROVINCE_ID = PROVINCE_ID) AS provinceName
--,(SELECT TOWN_NAME FROM TB_TOWN WHERE TOWN_ID = N.TOWN_ID AND N.PROVINCE_ID = PROVINCE_ID) AS townName
--,(SELECT AREA_NAME FROM TB_AREA WHERE AREA_ID = N.AREA_ID AND TOWN_ID = N.TOWN_ID) AS areaName
,A.POST_STATUS
,A.ADD_USER_ID as addUserId
--,(SELECT REALNAME FROM TB_USER WHERE USERID = A.ADD_USER_ID) AS addUserName
,A.ADD_TIME as addTime
--,(SELECT COUNT(ADDITIONAL_ID) FROM TB_ISSUE_ADDITIONAL WHERE ORDER_ID = A.ORDER_ID ) AS orderIdcnt
FROM
SEEC_SERVICE.TB_ISSUE_ADDITIONAL A
LEFT JOIN SEEC_SERVICE.TB_MSG B ON B.MSG_ID = A.MSG_ID
LEFT JOIN SEEC_SERVICE.TB_ORDER O ON O.ORDER_ID = A.ORDER_ID
LEFT JOIN SEEC_SERVICE.TB_CLIENTELE C ON B.CLIENTELE_ID = C.CLIENTELE_ID
LEFT JOIN SEEC_SERVICE.TB_QUERY_MODE M ON M.QUERY_MODE_ID = B.QUERY_MODE_ID
LEFT JOIN SEEC_SERVICE.TB_MAGAZINE E ON B.MAGAZINEID = E.MAGAZINE_ID
LEFT JOIN SEEC_SERVICE.TB_MEDIA G ON B.MEDIA_ID = G.MEDIA_ID
LEFT JOIN TB_DELIVER_TYPE T ON T.DELIVER_TYPE_ID = O.DELIVER_TYPE_ID
LEFT JOIN TB_DELIVER_TYPE T2 ON T2.DELIVER_TYPE_ID = A.DELIVER_TYPE_ID
LEFT JOIN TB_DELIVER_PLACE P ON P.DELIVER_PLACE_ID = O.DELIVER_PLACE_ID
LEFT JOIN TB_CLIENTELE_ADDRESS N ON (N.CLIENTELE_ID = A.CLIENTELE_ID AND N.IS_DEFAULT = 1 AND N.IS_INVALID = 1)
WHERE
1=1
ORDER BY A.ADDITIONAL_ID DESC
这段sql 查询8000多条数据用18s, 谁能给优化下,谢谢。 加上注掉的
作者: raullf1 发布时间: 2011-10-13
SQL code
把执行计划贴出来看一下,这样子看谁也不会优化!
作者: cosio 发布时间: 2011-10-13
把你那个where 1 = 1删了吧,其它没有可优化的地方了,把关联列都建上索引就OK了。
作者: xiaobn_cn 发布时间: 2011-10-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28