# TOAD



## Generic1 (13. Sep 2008)

hallo,

kennt jemand das Tool TOAD?
ich hab gelesen mit diesem Tool kann ich mich mit einer Oracle Datenbank verbinden und kann einer Tabelle z.B.: einen Index über eine Spalte geben damit das Suchen in dieser Tabelle schneller geht, da dann über den Index gesucht werden kann, da intern ein binärer Baum erzeugt wird.
ich würd das Ganze für die Datenbank Firebird benötigen, kennt vielleicht jemand ein Tool für diese Datenbank,

lg


----------



## geraldf (13. Sep 2008)

Hallo Generic1,

zu jeder Datenbank gibt's normalerweise ein Konsolen-Tool zum Absetzen von SQL-Befehlen.

Einen Index kannst du mit CREATE INDEX oder ALTER TABLE einrichten.

Ein mächtiges GUI-Ding wie Toad (für Oracle) ist dafür Overkill.

Warum verwendest du gerade Firebird?

Grüße
Gerald


----------



## foobar (13. Sep 2008)

Jedes JDBC Db-Tool kann einen Index per alter table erstellen.
Guck dir mal DTP http://www.eclipse.org/datatools/ oder http://www.squirrelsql.org/ an.


----------



## Generic1 (13. Sep 2008)

geraldf hat gesagt.:
			
		

> Warum verwendest du gerade Firebird?



das wurde mir vorgegeben aber ich vermute mal, weil diese DB frei ist(wird kommerziell verwendet),
weißt Du vielleicht, wie der ALTER- Befehl ungefähr geht?

Vielen Dank,
lg


----------



## geraldf (13. Sep 2008)

www.google.at/search?hl=de&q=firebird+sql+&btnG=Google-Suche&meta=

Ein paar Grundlagen solltest du dir schon selbst aneigenen. Ist auch eine gute Investition.

Grüße
Gerald


----------



## Generic1 (14. Sep 2008)

mir gehts eher um das, wie ich den Index über den Timestamp drüber lege, das ich mit einem ALTER- Befehl etwas ändern kann an den Einträgen der Tabelle, das ist mir klar, aber wie kann ich eben den Index drrüberlegen bzw. einfügen?


----------



## masta // thomas (14. Sep 2008)

Gesucht hast du aber wohl nicht, mh?
http://wiki.firebirdsql.org/wiki/index.php?page=CREATE+INDEX


----------



## Generic1 (15. Sep 2008)

Morgen,

wenn ich jetzt in einer Tabelle mit


```
CREATE INDEX ind1 ON table1
   (column1);
```

einen Index drüber lege, wie kann ich dann die Abfrage machen, das diese schneller wird.

Momentan frage ich vor und nach dem Index so ab:


```
rs = con.createStatement().executeQuery("SELECT * FROM Tabelle2 WHERE zeitstempel BETWEEN '1980-12-12 10:10:10.10' AND '2010-10-10 12:12:12.12'");
```


----------



## geraldf (15. Sep 2008)

Hallo Generic1, 



			
				Generic1 hat gesagt.:
			
		

> wenn ich jetzt [...] einen Index drüber lege, wie kann ich dann die Abfrage machen, das diese schneller wird.



Der Index wird normalerweise automatisch benutzt, wenn er vorhanden ist. Den Unterschied merkst du deutlich, wenn du aus einer großen Datenmenge eine kleine Menge selektierst.

Außerdem bieten Datenbanken die Möglichkeit, Details zum Ablauf einer Abfrage zu ermitteln. Stichwort "Query-Plan".

Beste Grüße
Gerald


----------



## Generic1 (15. Sep 2008)

Muss eigentlich die Tabelle geordnet sein, in meinem Fall nach dem TIMESTAMP, bevor ich den Index drüüberlege oder ist das egal, 
und wie könnte ich die Einträge in einer Datenbank nach einer TIMESTAMP- Spalte ordnen? mit


```
SELECT zeitstempel FROM Pegel1 ORDER BY zeitstempel ASC;
```

gebe ich die Werte ja nur geordnet aus aber ich ordne diese nicht in der Datenbank!?


----------



## geraldf (15. Sep 2008)

Generic1 hat gesagt.:
			
		

> Muss eigentlich die Tabelle geordnet sein, in meinem Fall nach dem TIMESTAMP, bevor ich den Index drüüberlege



Nein.
Aber wenn der Index einmal da ist, unterstützt er die Sortierung bei einem SELECT.

Grüße
Gerald


----------



## Generic1 (15. Sep 2008)

Also ich hab jetzt mit dem Profiler gemessen aber nichts gemerkt?
irgendwas läuft da schief,


----------



## geraldf (15. Sep 2008)

Schau dir noch einmal den Beitrag von robertpic71 an:
"Weiters sollte dein Vergleichsparameter als ..."
www.java-forum.org/de/topic74832_daten-schneller-einer-db-auslesen.html

Hier findest du Firebird-Anwender, die dir vielleicht konkreter helfen können:
entwickler-forum.de/forumdisplay.php?f=34

Beste Grüße
Gerald


----------

