Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfragen (https://www.delphipraxis.net/98838-sql-abfragen.html)

Christian18 2. Sep 2007 17:57

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

SQL Abfragen
 
Hallo,

ich habe eine kleine Tabelle, in der ich folgende Inhalte abspeichere.

KundenID A 10
Name A 20
Vorname A 20
Strasse A 50
PLZ A 5

Jetzt möchte ich alle Kunden mit A anzeigen lassen. das soll man irgendwie TQuery machen können. Kann mir jemand helfen?


MFG Christian18

DeddyH 2. Sep 2007 17:58

Re: SQL Abfragen
 
Ich verstehe nicht ganz, was "A 10" bedeuten soll. Wie ist die Tabelle denn aufgebaut?

Andreas H. 2. Sep 2007 17:59

Re: SQL Abfragen
 
Hallo,

mit einer TQuery und als SQL
SQL-Code:
select * from Tabelle where Name like 'A%';

mkinzler 2. Sep 2007 18:00

Re: SQL Abfragen
 
SQL-Code:
Select * from Tabelle where name like 'A%';

DeddyH 2. Sep 2007 18:01

Re: SQL Abfragen
 
Es empfiehlt sich hier, einen Index auf das Feld "Name" zu setzen.

Christian18 2. Sep 2007 18:02

Re: SQL Abfragen
 
Hallo,

was macht der Index für einen Sinn??? Verstehe ich jetzt nicht ganz.

mkinzler 2. Sep 2007 18:03

Re: SQL Abfragen
 
Durch einen Index kann man die Suche beschleunigen. Nur bei like-Abfragen hilft das leider oft nicht.

DeddyH 2. Sep 2007 18:04

Re: SQL Abfragen
 
Solange die Wildcard hinten steht, schon.

Matze 2. Sep 2007 18:05

Re: SQL Abfragen
 
Ich denke, das sinnvollste wäre, eine extra Spalte für die Zuordnungsbuchstaben zu machen und diese als Index zu nutzen, dann sparst du dir das langsame "like". So hat Christian dies vermutlich auch.
Sein Problem ist vermutlich, dass er nicht weiß, wie man prinzipiell SQL-Abfragen mit TQuery ausführt.

PS: Ist eine Spalte mit einem Index versehen ist der Lesezugriff deutlich schneller als ohne, allerdings dauert der Schreibzugriff ein wenig länger. man muss also schauen, was häufiger getan wird (lesen/schreiben). Das, was im WHERE-/AND-/ORDER-Abschnitt ist, sollte meines Wissens mit einem Index versehen werden.

Ralf Kaiser 2. Sep 2007 18:06

Re: SQL Abfragen
 
Zitat:

Zitat von Christian18
Hallo,

was macht der Index für einen Sinn??? Verstehe ich jetzt nicht ganz.

Die Abfrage ist schneller als ohne Index. Wenn auf der Spalte keine Index sitzt dann muss die gesamte Tabelle Datensatz für Datensatz durchsucht werden. Mit Index "weiss" die Datenbank sozusagen schon, welch Datensätz zurückgeliefert werden müssen.

Edit: schon wieder kein roter Kasten... :evil:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Seite 1 von 4  1 23     Letzte »    

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