AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Performante Möglichkeit für <= und >= gesucht

Performante Möglichkeit für <= und >= gesucht

Ein Thema von HeikoAdams · begonnen am 20. Aug 2008 · letzter Beitrag vom 20. Aug 2008
Antwort Antwort
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#1

Performante Möglichkeit für <= und >= gesucht

  Alt 20. Aug 2008, 09:26
Datenbank: MS SQL Server • Version: 2000 SP4 • Zugriff über: ADO
Hallo,
folgendes Problem:
In unserem Programm gibt es u.a. eine Kundentabelle mit ca 20.000 Datensätzen und eine Routingtabelle mit 640 Zeilen. Nun soll anhand der Routingtabelle, in der Postleitzahlenbereiche und die zuständige Geschäftsstelle hinterlegt sind, für jeden Kunden anhand seiner PLZ die jeweils zuständige Geschäftsstelle ermittelt werden.
Da bei der Verknüpfung der Tabellen über
Kunden.PLZ BETWEEN Routing.VonPLZ AND Routing.BisPLZ bzw
(Kunden.PLZ >= Routing.VonPLZ) AND (Kunden.PLZ <= Routing.BisPLZ) das Ausführen der Abfrage jeweils ca 1 Minute dauert, wollte ich mal nachfragen, ob jemandem eine performantere Lösung für dieses Problem einfällt.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Performante Möglichkeit für <= und >= gesucht

  Alt 20. Aug 2008, 09:28
Hallo Heiko,

liegt denn auf den PLZ-Feldern ein Index? Wenn nicht dürfte dies das Nadelöhr sein.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Performante Möglichkeit für <= und >= gesucht

  Alt 20. Aug 2008, 09:35
Nein, auf den PLZ-Feldern liegen (noch) keine Indizes.
Da die Routingtabelle zwei PLZ-Felder enthält stellt sich dann noch die Frage, was besser ist: Für jedes Feld ein separater Index oder beide Felder in einen einzigen Index?
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Performante Möglichkeit für <= und >= gesucht

  Alt 20. Aug 2008, 09:38
Wenn du die between-Abfrage beschleunigen willst einen Index mit beiden Feldern
Markus Kinzler
  Mit Zitat antworten Zitat
automatix

Registriert seit: 1. Mai 2008
Ort: Remscheid
39 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Performante Möglichkeit für <= und >= gesucht

  Alt 20. Aug 2008, 11:25
Hallo!

Oder wenn möglich, der Routingtabelle eine ID (inkl. (primär)schlüssel) spendieren und diese entsprechend in der Kundentabelle zuweisen.

Grüße
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:41 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