AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird - Temporärer Index
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird - Temporärer Index

Ein Thema von lxo · begonnen am 19. Jun 2023 · letzter Beitrag vom 21. Jun 2023
Antwort Antwort
Seite 1 von 2  1 2      
lxo

Registriert seit: 30. Nov 2017
260 Beiträge
 
Delphi 12 Athens
 
#1

Firebird - Temporärer Index

  Alt 19. Jun 2023, 17:15
Datenbank: Firebird • Version: 4 • Zugriff über: UniDAC
Hallo zusammen,

weiß jemand ob es in Firebird die Möglichkeit gibt einen temporären Index zu verwenden.
Also nur innerhalb einer stored procedure oder execute block?

Ich habe eine stored procedure die deutlich schneller wäre wenn ich einen bestimmten Index hätte für ein paar Tabellen.
Grundsätzlich ist dieser Index jedoch nicht wirklich nötig.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
675 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Firebird - Temporärer Index

  Alt 19. Jun 2023, 18:13
Hast Du mal versucht einen View auf die Tabelle zu erzeugen und den benötigten Index auf diesen View zu setzen? Die stored procedure müßte dann auf den View zugreifen und nicht auf die Tabelle dahinter...
Peter Below
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
260 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firebird - Temporärer Index

  Alt 19. Jun 2023, 18:18
Wie kann man denn für eine View einen Index erstellen?
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.434 Beiträge
 
Delphi 7 Professional
 
#4

AW: Firebird - Temporärer Index

  Alt 19. Jun 2023, 18:22
Wüsste nicht, dass das unter FireBird möglich ist.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
675 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Firebird - Temporärer Index

  Alt 20. Jun 2023, 09:57
Wie kann man denn für eine View einen Index erstellen?
Ich muss gestehen dass ich nur mit Oracle Erfahrung habe und das ist auch schon etliche Jahr her. Oracle hat sog. "materialized views" auf denen man auch Indizes anlegen kann wenn mich mein Vergessnis nicht täuscht.
Peter Below
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
260 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird - Temporärer Index

  Alt 20. Jun 2023, 11:00
Ich mach den Index jetzt einfach generell rein und fertig.
Andere Statements leiden darunter nicht und auch Massen-Inserts sind nicht langsamer. Also schadet der nicht und für meine Procedure hilft er ungemein.
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.878 Beiträge
 
Delphi 12 Athens
 
#7

AW: Firebird - Temporärer Index

  Alt 20. Jun 2023, 17:12
Ich mach den Index jetzt einfach generell rein und fertig.
Andere Statements leiden darunter nicht und auch Massen-Inserts sind nicht langsamer. Also schadet der nicht und für meine Procedure hilft er ungemein.
Das ist nach meiner Meinung nach auch die einzig sinnvolle Lösung.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
674 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Firebird - Temporärer Index

  Alt 20. Jun 2023, 12:10
Wie kann man denn für eine View einen Index erstellen?
Ich muss gestehen dass ich nur mit Oracle Erfahrung habe und das ist auch schon etliche Jahr her. Oracle hat sog. "materialized views" auf denen man auch Indizes anlegen kann wenn mich mein Vergessnis nicht täuscht.
Eine View in Firebird hat keine Indizes.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Firebird - Temporärer Index

  Alt 19. Jun 2023, 19:53
Hallo zusammen,

weiß jemand ob es in Firebird die Möglichkeit gibt einen temporären Index zu verwenden.
Also nur innerhalb einer stored procedure oder execute block?

Ich habe eine stored procedure die deutlich schneller wäre wenn ich einen bestimmten Index hätte für ein paar Tabellen.
Grundsätzlich ist dieser Index jedoch nicht wirklich nötig.
Ich denke auch, sowas gibt es nicht.

Wenn Du eine SP ausführst, könntest Du dort:
a) eine (temporäre) Tabelle anlegen, die
b) bereits Daten zusammenführt / minimiert und dort
c) anschließend selbst einen Index für erstellen.
dann
d) die eigentlichen Abfrage fahren
e) die Tabelle aus a) und damit automatisch auch den Index löschen.

In jedem Fall gilt, ein "temporärer" Index muss jedes Mal erstellt werden. Das kostet Zeit, die sich nur für sehr aufwändige Abfragen lohnen würde.
Gruß, Jo
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
260 Beiträge
 
Delphi 12 Athens
 
#10

AW: Firebird - Temporärer Index

  Alt 19. Jun 2023, 20:53
Wie sieht es denn aus mit Index generell auf INACTIVE setzen und nur innerhalb der Procedure auf ACTIVE.
Kann das zu Problemen führen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 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