Re: große anzahl von Records löschen
Zitat:
Allerdings würde ich erstmal die DB analysieren. Wenn die mwTable sehr viele Einträge hat UND die spalte ID nicht indexiert ist, dann muss der Server ja alle Zeilen durchlaufen. Wenn das also so ist (viele Zeilen, kein Index), dann dürfte ein Index auf der Spalte ID schon sehr viel bringen. Wenn die Bedingung 'ID>=x AND ID <= y' (schreib lieber 'ID BETWEEN x AND y', ist hübscher) sehr viele Zeilen löscht, und hinterher verhältnismäßig wenig Zeilen übrig bleiben, dann könntest Du so vorgehen
SQL-Code:
Wenn die Tabelle allerdings über AutoInc-Spalten verfügt, dann ist das so nicht machbar (man muss noch ein paar Zeilen dazupacken). Im Prinzip merkst du dir die Zeilen, die nicht gelöscht werden sollen, schmeißt die gesamte Tabelle auf den Müll (den Inhalt), und kopierst anschließend die gemerkten Zeilen zurück in die Originaltabelle. Das kann im Einzelfall schneller gehen.
select * into #TempTable -- Das ist MSSQL-Dialekt: Schreibe in eine temporäre Tabelle namens '#TempTable'
from mwTable where not (ID between x and y) -- Also die Zeilen sichern, die NICHT gelöscht werden sollen truncate table mwTable insert into mwTable select * from #TempTable drop table #TempTable Ich lese gerade, das vermutlich die 2.Variante für Dich in Frage kommt. |
Re: große anzahl von Records löschen
Ja, für ein Thread brauche ich eine seperate Datenbank-Session.
ich kann allso über einen DB-Server zwei Sessions defieren die auf die selbe Tabelle zugreifen. beim schreiben und löschen müßte ich nicht mal auf kollision achten. zusätzlich brauche ich naturlich auch eine weitere Tabelle und eine Database. liege ich richtig bis her? |
Re: große anzahl von Records löschen
ich arbeite aber mit Nexus DB 2.0
|
Re: große anzahl von Records löschen
Zitat:
Zitat:
|
Re: große anzahl von Records löschen
die tabelle hat einen AutoInc Spalte.
|
Re: große anzahl von Records löschen
mein frage über Threads bezieht sich auch
Bernhard Geyer schreiben sorry! |
Re: große anzahl von Records löschen
bezog sich auf Bernhard Geyer's schreiben. sorry
|
Re: große anzahl von Records löschen
alles klar, alzaimar. ich probiere das mal. danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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