互联网服务sql优化

如何对sql进行优化?

sql:`sql
SELECT
COUNT(0)
FROM
(SELECT

t1.id,
t1.channel_guar_starus,
t1.user_agen_id,
t1.house_type,
t1.province_code,
t1.city_code,
t1.area_code,
t1.ask_price_type,
t1.data_source,
t1.one_pay,
t1.user_id,
t1.org_id,
t1.guar_no,
t1.total_price,
t1.room_area,
t1.total_price_small,
t1.total_price_big,
t1.credit_loan_small,
t1.credit_loan_big,
t1.rate_small,
t1.rate_big,
t1.lend_cycle_small,
t1.lend_cycle_big,
t1.guar_type,
t1.community_name,
t1.building_name,
t1.house_name,
t1.address,
t1.building_type_name,
t1.end_time,
t1.remark,
t1.reject_remark,
t1.build_year,
t1.lock_status,
t1.order_begin_time,
t1.order_end_time,
t1.create_time,
t1.create_by,
t1.modify_by,
t1.modify_time,
t1.validate_state,
u.login_name,
su.user_name,
u.agent_code,
ci.area_name,
t1.first_remark,
t1.second_remark 

FROM

ha_t_channel_guar t1 
LEFT JOIN ha_t_user u 
  ON t1.user_agen_id = u.id 
LEFT JOIN sys_user su 
  ON t1.MODIFY_BY = su.id 
LEFT JOIN sys_area ci 
  ON t1.city_code = ci.area_code 

WHERE 1 = 1

AND t1.VALIDATE_STATE = '1' 
AND EXISTS 
(SELECT 
  1 
FROM
  LOAN_VMDATA_PRIV vmd1 
WHERE (
    vmd1.OWNER_ID = t1.OWNER_ID 
    OR vmd1.ORG_ID = t1.ORG_ID
  ) 
  AND vmd1.USER_ID = ?) 

ORDER BY t1.id DESC) total

aera.png

aera.png

sys_user.png
sys_user.png

gura.png
gura.png

user.png
user.png

参与17

4同行回答

anikikonganikikong课题专家组数据库运维工程师中国民生银行
LOAN_VMDATA_PRIV的USER_ID 有索引么? 看起来只有这个地方过滤最好显示全部

LOAN_VMDATA_PRIV的USER_ID 有索引么? 看起来只有这个地方过滤最好

收起
银行 · 2018-05-25
浏览1957
steve25steve25数据库管理员IBM
建议先生成access plan再说吧~ 看看是否有高的cost的operation,比如table scan之类的显示全部

建议先生成access plan再说吧~ 看看是否有高的cost的operation,比如table scan之类的

收起
互联网服务 · 2018-05-24
浏览1837
wade666wade666数据库管理员Cloud
只看sql太片面了,表的数据量,索引是什么建立的,目前的执行计划是怎么跑的显示全部

只看sql太片面了,表的数据量,索引是什么建立的,目前的执行计划是怎么跑的

收起
软件开发 · 2018-05-18
twt_ztwt_z其它衡阳人民运维董事
我不敢回答,我只是做任务,题目太难了显示全部

我不敢回答,我只是做任务,题目太难了

收起
IT其它 · 2018-05-17
浏览1935

提问者

kevin898
测试工程师捷越联合信息咨询服务有限公司

问题来自

相关问题

相关资料

问题状态

  • 发布时间:2018-05-17
  • 关注会员:5 人
  • 问题浏览:5417
  • 最近回答:2018-05-25
  • X社区推广