PostgreSQL DELETE ile TRUNCATE Arasındaki Farklar
PostgreSQL DELETE ile TRUNCATE Arasındaki Farklar,veri silmek istiyoruz fakat hangisi daha performanslı çalışır hangi komutta where kullanabiliriz gibi bilgilere ihtiyaç duyabiliyoruz bunun için bu yazımda bunları size açıklamaya çalışacağım.
- Delete komutunu kullanırken sorgumuza where şartını ekleyebiliriz. Truncate komutunda böyle bir imkân yoktur, tüm kayıtları siler.
- En önemli fark olarak eğer tablomuzda identity kolonumuz varsa, Delete yaparsak o kolon kaçıncı identity de kalmışsa kaldığı yerden saymaya devam eder. Truncate Table yaptığımız zaman ise en baştan saymaya başlar(Farklı parametreler ile kaldığı yerden devam edilebilir.)
- Tablonun üzerinde Delete Trigger’ı varsa, Truncate Table yaptığımızda tetiklenmez. Delete komutu ile trigger tetiklenir.
- Truncate komutunda loglama kayıt bazlı yapılmadığı için Delete komutuna göre daha performanslıdır.