![](/img/trans.png)
[英]Performance optimisation for - MS SQL Delete query with NOT IN caluse
[英]Optimisation of the performance of the query using views
我已經為我的項目創建了視圖,現在我想針對速度進行優化。 如何確定視圖可以優化? 索引對此有用嗎?
SELECT DISTINCT
ent.ID_Entreprise,
ct.Siret,
ct.Scont,
ct.Cont,
ct.Souscont,
ct.Entappcr,
ct.Cb,
ct.Sptf,
ct.Socuti,
ct.EntiteTPG,
ct.Datefcb,
ct.Dtfineffcb,
ct.Stacb,
ct.Libstacb,
ct.Perap,
ct.Libperap,
ct.Deremis,
ct.Derregl,
ct.typepdt,
ct.Libtypepdt,
ct.Libpdt,
ct.Libcb,
ct.CodeICX,
ct.AppLeader,
(CASE ct.typepdt
WHEN 'S' THEN '1'
WHEN 'P' THEN '2'
WHEN 'R' THEN '3'
WHEN 'E' THEN '3'
WHEN 'I' THEN '4'
ELSE '5' END) AS orderParam,
ct.Reg,
ct.ent_opt_set,
'' AS CdGraReg,
'' AS CaisseSS,
'' AS CentreSS,
ct.affilSalEnabled,
ct.AtOperationnel,
ct.Formule,
ct.FormuleSocle,
ct.Srs,
ct.Cntcb_actif,
ct.Libstacb_vision_C,
ct.DATPA,
ct.DATENVOI,
ct.DATREGUL,
ct.UC,
ct.Art39,
ct.Dateff,
ct.Cnt_actif,
ent.Raisoc,
ct.mensualisation,
ct.repartition,
ct.optFin,
ct.Date_hors_infocentre,
ent.visionC
從dbo.VW_Entreprise AS ent內部聯接dbo.VW_Contrats AS ct ON ent.Siret = ct.Siret和ct.Entappcr = ent.entApp
我正在使用兩個視圖VW_Entreprise和VW_Contrats
對於此JOIN
:
dbo.VW_Entreprise AS ent
INNER JOIN dbo.VW_Contrats AS ct ON ent.Siret = ct.Siret AND ct.Entappcr = ent.entApp
您需要以下索引:
VW_Entreprise(Siret, entApp)
VW_Contrats(Siret, Entappcr)
如果這些索引尚不存在,請創建它們。 如果不了解您的數據結構和基礎視圖的定義,就很難提供更多建議。 一些提示:
SELECT DISTINCT
意味着RDBMS需要做更多的工作,因為它需要檢查重復項(並且您將返回大量的列)。 使用前請確保您確實需要它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.