Rumah >pembangunan bahagian belakang >Golang >Pergi SQL: Bila Perlu Menggunakan `DB.Exec()`, `DB.Query()` dan Penyata Disediakan?
Pakej Go SQL menyediakan kaedah untuk melaksanakan pernyataan SQL. Terdapat dua kaedah utama: DB.Exec() dan DB.Query().
DB.Exec() digunakan untuk melaksanakan pernyataan SQL yang tidak mengembalikan sebarang baris, seperti INSERT, UPDATE, dan DELETE pernyataan. DB.Query() digunakan untuk melaksanakan pernyataan SQL yang mengembalikan baris, seperti pernyataan SELECT.
Buku yang anda petik menyatakan bahawa "Jika nama fungsi termasuk Query, ia adalah direka untuk menanyakan soalan tentang pangkalan data, dan akan mengembalikan satu set baris, walaupun ia kosong Pernyataan yang tidak mengembalikan baris tidak seharusnya menggunakan fungsi Pertanyaan harus menggunakan Exec()."
Ini benar, tetapi ia bukan keseluruhan cerita. DB.Exec() juga boleh digunakan untuk melaksanakan pernyataan SQL yang mengembalikan baris. Walau bagaimanapun, DB.Exec() akan mengembalikan bilangan baris yang terjejas oleh pernyataan itu, manakala DB.Query() akan mengembalikan objek *Rows yang boleh digunakan untuk lelaran ke atas baris dalam set hasil.
Jadi, bilakah anda harus menggunakan DB.Exec() dan bilakah anda harus menggunakan DB.Query()?
Gunakan DB.Exec() apabila anda perlu melaksanakan pernyataan SQL yang tidak mengembalikan sebarang baris dan anda ingin mengetahui bilangan baris yang dipengaruhi oleh pernyataan itu.
Gunakan DB.Query() apabila anda perlukan untuk melaksanakan pernyataan SQL yang mengembalikan baris dan anda ingin mengulangi baris dalam set hasil.
Mengapa menggunakan pernyataan yang disediakan?
Pernyataan yang disediakan boleh meningkatkan prestasi pertanyaan SQL anda. Apabila anda menyediakan pernyataan, pelayan pangkalan data menyusun pernyataan dan menyimpan pernyataan yang disusun dalam ingatan. Ini bermakna pelayan pangkalan data tidak perlu menyusun semula pernyataan setiap kali anda melaksanakannya.
Untuk menggunakan pernyataan yang disediakan, anda boleh memanggil kaedah DB.Prepare(). Kaedah ini mengambil pernyataan SQL sebagai hujah dan mengembalikan objek *Stmt. Anda kemudiannya boleh melaksanakan pernyataan yang disediakan dengan memanggil kaedah Stmt.Exec() atau Stmt.Query().
Sama ada anda perlu menggunakan pernyataan yang disediakan bergantung pada ciri prestasi aplikasi anda atau tidak. Jika anda melaksanakan pernyataan SQL yang sama beberapa kali, maka menggunakan pernyataan yang disediakan boleh meningkatkan prestasi aplikasi anda.
Atas ialah kandungan terperinci Pergi SQL: Bila Perlu Menggunakan `DB.Exec()`, `DB.Query()` dan Penyata Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!