Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ist es schneller, eine Zeile zu AKTUALISIEREN oder sie zu LÖSCHEN und eine neue einzufügen?

Diese Frage sollten Sie nicht stellen. Sie fragen:"Ist es besser, es richtig oder falsch zu machen, im Namen einer nebulösen Vorstellung von "schneller"?"

Haben Sie eine Anwendung, die irgendwie zu langsam ist? Glauben Sie aus irgendeinem Grund, dass das Problem daran liegt, dass Ihre UPDATEs zu lange dauern? Haben Sie Messungen und Benchmarks der Leistung Ihrer Datenbankinteraktionen durchgeführt?

Was Sie tun, ist eine voreilige Optimierung der schlimmsten Sorte, und Sie erweisen Ihrer Anwendung damit einen Bärendienst. Sie machen wilde Vermutungen darüber, wie Sie Ihren Code beschleunigen können, und haben absolut keine Grundlage dafür.

Schreiben Sie Ihren Code richtig. Versuchen Sie dann herauszufinden, wo Sie ein Leistungsproblem haben. HABEN Sie überhaupt ein Leistungsproblem oder stellen Sie diese Frage einfach, weil Sie der Meinung sind, dass Sie danach fragen sollten? Das sollten Sie nicht.

Selbst wenn Sie speziell ein Problem mit zu langsamen UPDATEs hatten, können wir die Frage "Ist X schneller als Y" nicht beantworten, da Sie uns nicht annähernd genug Informationen gegeben haben, wie zum Beispiel:

  • Welche Datenbank Sie verwenden
  • Die Tabellenlayouts
  • Welche Indizes befinden sich in der Datenbank
  • Wie Sie mit der Datenbank interagieren

Bitte schreiben Sie Ihren Code richtig und geben Sie dann genauer an, was zu langsam ist, anstatt auf Mikrooptimierungen zu spekulieren.