AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie würdet Ihr das lösen?

Ein Thema von Kralle · begonnen am 11. Jan 2015 · letzter Beitrag vom 17. Jan 2015
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Wie würdet Ihr das lösen?

  Alt 16. Jan 2015, 19:23
Zitat:
Ein Delete mit 'Where' dürfte mit (verwendetem) Index und ausreichender Selektivität der Bedingung auch mal gern schneller sein.
Es müssen aber alle Indizes (der Tabelle) mit angepasst werden.
Markus Kinzler
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Wie würdet Ihr das lösen?

  Alt 16. Jan 2015, 20:07
Zitat:
Ein Delete mit 'Where' dürfte mit (verwendetem) Index und ausreichender Selektivität der Bedingung auch mal gern schneller sein.
Es müssen aber alle Indizes (der Tabelle) mit angepasst werden.
Das ist richtig.
Es müssen u.U. sogar noch mehr Indizes als nur die der einen Tabelle angepasst werden, wenn z.B. Cascade Delete Constraints verwendet werden. Wenn in einem CRM System ein(!) Personendatensatz gelöscht wird, betrifft das dann auch alle abhängigen Datensätze, das führt u.a. zu einem Vielfachen an Löschoperationen und erneuten Indexkorrekturen. Gleichzeitig können die vorhandenen Indizes der Fremdschlüssel aber zur Lokalisierung der zu löschenden Datensätze verwendet werden und Summa Summarum ist es immer noch schneller als ohne Indizes und den dann notwendigen Full Scans.

Ich bin mir aber immer noch sicher, dass diese Diskussion hier im Thread fehlplaziert ist. Es ging mir darum Indizes und ihre Verwendung von Schlüsselfeld Definitionen zu unterscheiden. Und ein Index hat nunmal (fast) keine funktionale Bedeutung für ein Datenmodell bzw. eine Datenbank.

Hier können jetzt Anmerkungen gemacht werden, dass man gar keine Datensätze löschen soll...
Gruß, Jo
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: Wie würdet Ihr das lösen?

  Alt 16. Jan 2015, 20:26
Ohne Index sind DML-Operationen (ohne WHERE) schneller. Ich hätte das auch so einfach schreiben können. Ob das den TE interessiert, glaube ich auch nicht, aber wenn man schreibt das eine DB mit Index schneller wird, darf man das doch wohl mal klarstellen (und zwar für andere, die das dann lesen), ohne das einem das Mund im Drehen verwirdet wort, oder Wortklauberei betrieben wird oder jedes Wort auf die Goldwaage gelegt wird oder Sätze mit nicht eindeutigem Bezug in Frage gestellt werden oder obwohl wirklich sonnenklar ist, was gemeint ist, oder? Manchmal, aber nur manchmal, nervt das Forum bzw. einige kleinkarierte Beiträge und ob nun dieser oder mein voriger Beitrag dazu gezählt wird oder nicht, überlasse ich den Kleinkarierten.

Geändert von Dejan Vu (16. Jan 2015 um 20:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz