+ -
当前位置:首页 → 问答吧 → sql 优化

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, 谁能给优化下,谢谢。 加上注掉的

作者: raullf1   发布时间: 2011-10-13

SQL code
把执行计划贴出来看一下,这样子看谁也不会优化!

作者: cosio   发布时间: 2011-10-13

把你那个where 1 = 1删了吧,其它没有可优化的地方了,把关联列都建上索引就OK了。

作者: xiaobn_cn   发布时间: 2011-10-13

热门下载

更多