Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Werden angelegte Indizes in einer Tabelle auch im View verwendet? (https://www.delphipraxis.net/173085-werden-angelegte-indizes-einer-tabelle-auch-im-view-verwendet.html)

Piro 6. Feb 2013 12:44

Datenbank: MS SQL • Version: 2005 • Zugriff über: Express

Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Schönen guten Tag,

ich habe mehrere Tabellen für mein Projekt (IBM Cognos) mit nicht so sprechenden Namen. Deshalb habe ich mir Views gebaut, die keine Join haben sondern die Tabelle 1:1 darstellen aber mit sprechenden Namen.

In den Tabellen habe ich Indizes angelegt, damit die Abfragen schneller werden.

Jetzt stellt sich mir die Frage, da ich die Views verwende, um auf die Daten zu zugreifen, ob die Indizes greifen oder ich die Indizes in die Views bauen muss.

Lasst mich mal wissen, was richtig ist und wo ich die Performance am besten optimieren kann?

Vielen Dank im Voraus.
Sven

jobo 6. Feb 2013 13:02

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Ich habe noch nie einen Index für Views erstellt.
Das müsste auch ein ganz neues Feature sein.

Index auf Tabelle wirkt ganz transparent auch für Views. Unter SQL Server geht das zwar, aber ich würde erstmal den Standard Weg gehen.


EDIT: Ist nicht neu, gibt's seit V 2005.

Bummi 6. Feb 2013 13:49

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Eine Sicht ist letztlich auch nichts anderes als eine Abfrage und der Index der Tabelle greift.

Hier gibt es etwas weiterführende Infos

tsteinmaurer 6. Feb 2013 14:36

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Schon mal den Ausführungsplan angesehen?

Piro 6. Feb 2013 14:53

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Wo kann ich den Ausführungsplan finden. Verwende eine Express Version?

In einem View kann man auch Indizes anlegen und dann sogar auf berechnetet Felder.

tsteinmaurer 6. Feb 2013 18:53

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
Hab gerade kein Management Studio Express hier, aber gibt es da nicht in der Toolbar ein/zwei Buttons, wo man den Geschätzten und Ausgeführten Execution Plan sich ausgeben lassen kann?

Bummi 6. Feb 2013 19:18

AW: Werden angelegte Indizes in einer Tabelle auch im View verwendet?
 
wenn Du die Buttons nicht findest es geht auch ohne Management Studio
Code:
SET SHOWPLAN_ALL ON
GO
Select * from cm_services
where irgendetwas spannendes
GO
SET SHOWPLAN_ALL OFF
GO
Delphi-Quellcode:
  Adoconnection.Execute('SET SHOWPLAN_ALL ON');
  Adodataset.CommandText :='Select * from cm_services where irgendetwas spannendes';
  Adodataset.open;
  Adoconnection.Execute('SET SHOWPLAN_ALL OFF');


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz