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.