Rumah > Artikel > pembangunan bahagian belakang > Adakah Go SQLCMD lebih perlahan daripada versi asli Windows?
Editor PHP Xiaoxin, adakah anda sering menggunakan alatan SQLCMD untuk mengurus dan mengendalikan pangkalan data? Pernahkah anda membandingkan perbezaan prestasi antara versi asli Windows dan Go SQLCMD? Jika anda mempunyai soalan ini, mari kita bincangkan topik ini hari ini. Dalam artikel ini, kami akan membandingkan prestasi kedua-dua versi ini dan memberikan jawapan, sama ada Go SQLCMD lebih perlahan daripada versi Windows asli. Mari lihat!
Saya telah menggunakan Windows local sqlcmd
在本地 SQL Server 数据库上运行脚本。我有一组脚本文件,用于创建数据库、添加表和索引、填充域数据、添加存储过程等。运行脚本是通过每个文件执行一个 sqlcmd -i <file>.sql
untuk menyelesaikannya. Ini berfungsi dengan baik dan cukup pantas.
Selepas bertukar kepada pelaksanaan Go baharu sqlcmd
, masa binaan pangkalan data menjadi beberapa kali lebih perlahan.
Saya tidak dapat mencari sebarang cara untuk mendapatkan statistik jenis pemasaan daripada sqlcmd
获取计时类型的统计信息来确定是否是连接问题、连接池或其他问题。如果我将多个文件作为附加的 -i <file.sql>
untuk menentukan sama ada isu sambungan, pengumpulan sambungan atau perkara lain. Saya dapat melihat apa yang kelihatan sebagai penambahbaikan jika saya menghantar berbilang fail sebagai pilihan -i <file.sql>
tambahan, yang menunjukkan kepada saya bahawa ini ialah permulaan arahan Go atau sambungan pangkalan data awal Penubuhan isu. p>
Saya melakukan ujian di mana saya mengambil sepuluh fail SQL dan menjalankannya sebagai sepuluh sqlcmd
执行来运行,也作为一个 sqlcmd
执行来运行,这十个文件作为单独的 -i
pelaksanaan berasingan dan juga sebagai satu
-i code> yang berasingan. Perintah individu mengambil masa 20 saat, arahan gabungan mengambil masa 4 saat. Jadi ini nampaknya menjadi isu dengan overhed permulaan atau overhed sambungan. <p>
</p>Selaras dengan cadangan @siggemannen, saya menguji sambungan menggunakan kelayakan AD dan pengguna pangkalan data langsung. Kelayakan AD jauh lebih perlahan daripada sambungan pangkalan data langsung, yang bermaksud ini adalah sumber kelambatan yang saya lihat dalam senario saya. <p>
</p>Saya sedang mencari sebarang cadangan atau idea untuk menyelesaikan isu atau menyelesaikan masalah dengan lebih lanjut. Adakah terdapat cara untuk mempercepatkan pengesahan AD? <h2 class="daan"></h2>Penyelesaian<p><code>sqlcmd
并不比原生版本慢。使用 Windows/AD 凭据建立连接会增加建立连接所需的启动时间,并且在用例中为每个 sqlcmd
Go tidak lebih perlahan daripada versi asli. Menggunakan bukti kelayakan Windows/AD untuk mewujudkan sambungan meningkatkan masa permulaan yang diperlukan untuk mewujudkan sambungan dan menambah overhed tambahan dengan menjalankan satu fail SQL untuk setiap contoh dalam kes penggunaan. sqlcmd
运行许多 SQL 文件,这将恢复我们所需的性能。但是,我们无需任何返工即可使用的替代方案是使用 SQL Server 级别主体 sa
在创建数据库时创建。这恢复了与使用 AD 登录的本机 sqlcmd
Atas ialah kandungan terperinci Adakah Go SQLCMD lebih perlahan daripada versi asli Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!