Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Performante Möglichkeit für <= und >= gesucht (https://www.delphipraxis.net/119047-performante-moeglichkeit-fuer-%3D-und-%3D-gesucht.html)

HeikoAdams 20. Aug 2008 08:26

Datenbank: MS SQL Server • Version: 2000 SP4 • Zugriff über: ADO

Performante Möglichkeit für <= und >= gesucht
 
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
SQL-Code:
Kunden.PLZ BETWEEN Routing.VonPLZ AND Routing.BisPLZ
bzw
SQL-Code:
(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.

Sharky 20. Aug 2008 08:28

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

liegt denn auf den PLZ-Feldern ein Index? Wenn nicht dürfte dies das Nadelöhr sein.

HeikoAdams 20. Aug 2008 08:35

Re: Performante Möglichkeit für <= und >= gesucht
 
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?

mkinzler 20. Aug 2008 08:38

Re: Performante Möglichkeit für <= und >= gesucht
 
Wenn du die between-Abfrage beschleunigen willst einen Index mit beiden Feldern

automatix 20. Aug 2008 10:25

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

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

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 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