Pakej pangkalan data/sql Golang menawarkan dua kaedah untuk melaksanakan pernyataan SQL: db.Exec() untuk operasi yang tidak mengembalikan baris (seperti sisip, padam, kemas kini) dan db.Query() untuk operasi yang lakukan.
Walaupun dokumentasi mencadangkan penggunaan db.Exec() untuk operasi bukan pertanyaan, ramai pembangun tertanya-tanya mengapa perlu bersusah payah dengan kenyataan yang disediakan sama sekali.
Walaupun db.Query() mencipta pernyataan yang disediakan di bawah hud, db.Exec() masih menyediakan faedah:
Tuntutan dokumentasi tentang penyediaan pernyataan automatik dengan db.Query() mungkin berbeza bergantung pada pemacu pangkalan data yang digunakan. Walau bagaimanapun, mencipta dan menggunakan semula penyataan yang disediakan secara manual masih boleh meningkatkan prestasi untuk pertanyaan yang sering dilaksanakan.
Dokumentasi PostgreSQL menerangkan cara penyataan yang disediakan mengoptimumkan prestasi dengan mengurangkan keperluan untuk menghurai dan merancang pertanyaan beberapa kali. Dengan menyediakan penyata sekali dan melaksanakannya beberapa kali dengan parameter yang berbeza, anda boleh melangkau operasi yang mahal ini.
Ringkasnya, manakala db.Exec() menyediakan faedah khusus untuk operasi tanpa pertanyaan, penyediaan secara manual dan penyata caching boleh mengoptimumkan prestasi untuk pertanyaan yang kerap.
Atas ialah kandungan terperinci Mengapa Menggunakan `db.Exec()` dan Penyata Disediakan dalam Interaksi Pangkalan Data Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!