Hallo xzise,
zunächst einmal, diese Auftrennung in Nachname und Vorname, und die nachfolgende Kombination zumindestens bei den Schülern erscheint mir doch sehr obskur. Oder habe ich die Funktion als Index übersehen?
wenn ich Deine Sourcen auf die
SQL-Relevanz verkürze bleibt nur noch das übrig:
Code:
// Alle Kurse und Kurszuweisungen löschen, die nicht Hauptkurse sind
EntferneZuSQL('Kurse', 'Hauptkurs <> 0');
EntferneZuSQL('Kurszuweisungen', 'KursID IN (SELECT KursID FROM Kurse WHERE Hauptkurs <> 0)');
// Und dann die Schüler auf obsolet setzen
ExecSQL('UPDATE Personen SET Obsolet = -1 WHERE HauptKursID != 0');
BeginTransaction;
Zunächst steht da ziemlich verloren ein einsames BeginTransaction, nur noch gefolgt von Datenmanipulationen aber ohne irgendeinen Datenbankbezug (was hab ich da übersehen?).
Und was macht EntferneZuSql ? Wenn ich das richtig verstanden habe, wird jedes mal auf der Datenbank eine wílde Datensammlung erzeugt, die dann wieder bereinigt wird? (Hauptkurs oder nicht)
Dieser "Datenmissbrauch" ist die Grundlage von Chaos-Programmen. Wenn man das Geschlecht einer Person bestimmen/dokumentieren will, dann braucht's ein Feld Geschlecht und keine Umwege über Vorname, Schuhgröße, Haarlänge und was für kreative Ideen da noch herum schwirren. (Übrigens, das der Titel bei Lehrer die ersten fünf Stellen des Namens belegt ist auch so eine Krücke die Fehler geradezu provoziert)
Da sollte das Konzept, das dahinter steht einmal überdacht werden.
Wenn es Dir darum geht, Dein Programm zu beschleunigen, dann solltest Du von diesem
Code:
GeneriereDoppelFortschritt(i_cAnzahlSchritte...
Abstand nehmen, denn das ist ein echter Zeitfresser.
Zitat:
Aber die Frage die sich mir stellt, ist halt ob ich zwei Queries parallel laufen haben kann.
Das ginge, aber was soll es bringen? Die
query die als erste startet, hat den Datenbestand mehr oder weniger exclusiv im Zugriff (kommt auf die dahinter liegende "Sperrungsphilosophie" an) die zweite muß dementsprechend warten. Wenn Du Zeit sparen willst, solltest Du Dir dein Programm einmal sehr kritisch anschauen, und vor allem die Frage stellen wofür das, was da gemacht wird, eigentlich gut ist.
gruß
K-H