AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Select Optimierung bei Tabelle mit 15.Mio Datensätzen
Thema durchsuchen
Ansicht
Themen-Optionen

Select Optimierung bei Tabelle mit 15.Mio Datensätzen

Ein Thema von mika · begonnen am 15. Sep 2011 · letzter Beitrag vom 15. Sep 2011
 
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#1

Select Optimierung bei Tabelle mit 15.Mio Datensätzen

  Alt 15. Sep 2011, 11:22
Datenbank: Advantage • Version: 9 • Zugriff über: SQL
Hallo Forum

ich möchte gerne ein Programm schreiben das einen Teilbereich einer Tabelle (nach Datum/Uhrzeit) in eine XML Datei exportiert. Diese Tabelle wird alle 5 Sekunden um einen Datensatz erweitert und hat bei unserem Kunden inzwischen ca 6 Millionen Datensätze. Da ich an diesem Umstand nichts ändern kann habe ich mir eine Testtabelle gebaut, 18 Millionen Datensätze hineingeschrieben, und probiere nun damit herum. Die Tabelle hat eine Struktur in folgender Form:

Datum | Uhrzeit | Int-Feld | Int-Feld | String-Feld | String-Feld | Int-Feld

(Indizes auf jedem einzelnen Feld + ein Index auf Datum+Uhrzeit vorhanden)


Nun möchte ich einen Teilbereich, z.B. alle Datensätze vom aktuellen Datum zwischen 5 und 18 Uhr ermitteln und diese dann in eine XML Datei exportieren. Das alles ist auch nicht das Problem, sondern das ich diese Tabelle nicht lange "stören" möchte Ich benötige aus dieser Tabelle das Datum, die Uhrzeit und ein Integer Feld, und werde damit aus 2-3 anderen Tabellen noch andere Daten dazunehmen.

Meine Idee war das ich folgenden SQL ausführe:
Code:
SELECT * FROM ZielLog WHERE zl_date between '2011-10-01' AND '2011-10-01' AND zl_time between '05:00:00' AND '06:00:00' ORDER BY zl_date, zl_time
dann die Datensätze durchgehe und mir meine Werte in eine Liste schreibe, damit ich die Tabelle nicht lange offenhalte und dann mit der Liste meine restlichen Werte hole. Allerdings dauert der SQL teilweise recht lange, gibt es da Optimierungsmöglichkeiten? Ich habe zum Beispiel gemerkt das das ausführen des SQLs wesentlich schneller geht wenn ich die Uhrzeit nicht mit einbeziehe, dafür hätte ich dann wesentlich mehr Datensätze die ich durchgehen muss... (Pro Tag kommen ca 10.000 Datensätze da rein zwischen 4 Uhr und 19 Uhr)

Habt ihr irgendwelche Vorschläge dazu?

mfg, mika
:: don't Panic ::
  Mit Zitat antworten Zitat
 


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 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz