程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> sybase的SQL多表聯合查詢調優

sybase的SQL多表聯合查詢調優

編輯:SyBase教程

sybase的SQL多表聯合查詢調優   摘要:在大型項目中關系型數據庫多表聯合查詢是很頻繁的,現在項目上有以下7張表,每張表達數據量也比較小,但是7張表通過多表聯合查詢,查詢的速度卻非常慢,希望能夠給出一個查詢效率比較快的sql。   表1:OPER,字段id,operkey等等(數據量3500)   表2:POLICY,字段id,name等等(數據量5000)   表3:STRATEGY,字段id,name等等(數據量5000)   表4:STRATEGY_APPROVER,字段id,userid,approver等等(數據量50000)   表5:POLICY_OPER(表1和表2的中間表),字段policyid,operid   表6:STRATEGY_POLICY(表2和表3的中間表),字段policyid,strategyid   表7:STRATEGY_APPROVER_RELA(表3和表4的中間表),字段strategyid,strategyapproverid   項目上使用的查詢語句如下:   select * from STRATEGY where st.id in (          select * from STRATEGY st              inner join  STRATEGY_POLICY sp on st.id = sp.strategyid              inner join   POLICY p on p.id = sp.policyid              inner join  POLICY_OPER po on po.policyid = p.id              inner join  OPER o o.id = po.operid              inner join STRATEGY_APPROVER_RELA  sar on sar.strategyid = st.id              inner join  STRATEGY_APPROVER sa on sa.id = sar.strategyid          where st.id=? and st.name=? and .... and ....  and   )   注:以上查詢效率及其慢,已經超過用戶體驗的最差值,希望能夠提供較快的查詢效率的SQL;  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved