sql >> Database >  >> RDS >> Sqlserver

Wat is het voordeel van bijwerken in plaats van verwijderen en vervolgens invoegen in dezelfde tabel?

Ik weet niet 100% zeker wat je vraagt, maar ik waag een poging in het duister. Een DELETE doen en vervolgens een INSERT in een tabel om informatie bij te werken is een zeer slecht idee.

Waarom? Want als je een andere tabel hebt met een refererende sleutel die verwijst naar ABC, dan verlies je je referentie. Tenminste, tenzij je de PK van het nieuwe record instelt met dezelfde PK als het oude (verwijderde) record. In dat geval, waarom heb je niet gewoon UPDATE gedaan?

Bovendien zijn VERWIJDEREN en vervolgens INVOEREN twee bewerkingen, terwijl UPDATEN er één is, waardoor het VERWIJDEREN en INVOEREN (theoretisch) meer tijd kost.

Er is ook de factor gebruiksgemak. Als u DELETE en vervolgens INSERT gebruikt, moet u elke kolomwaarde handmatig bijhouden. Als je BIJWERKT, hoef je alleen maar te weten wat je wilt veranderen.



  1. Selecteer verschillende records voor een join

  2. Hoe waarden in een PHP-array invoegen in een MySQL-tabel?

  3. Is het nodig om een ​​enkele merge-statement (met insert, delete en update) in een transactie op te nemen?

  4. is het sneller om rijen in de volgorde van de primaire sleutel in te voegen?