Async Rangka Kerja Entiti: Bottleneck Prestasi Tidak Dijangka
Berhijrah kepada pengawal tak segerak dan operasi pangkalan data (menggunakan ToListAsync()
bukannya ToList()
) selalunya meningkatkan prestasi aplikasi. Walau bagaimanapun, ini tidak selalu berlaku. Dalam senario baru-baru ini, beralih kepada kaedah tak segerak secara mendadak memperlahankan pelaksanaan pertanyaan. Pertanyaan berikut, mendapatkan semula objek "Album" dengan gabungan pangkalan data yang mudah, menunjukkan isu ini:
<code class="language-csharp">var albums = await this.context.Albums .Where(x => x.Artist.ID == artist.ID) .ToListAsync();</code>
Pertanyaan SQL yang dijana ialah (dipotong untuk ringkas):
<code class="language-sql">SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], ...</code>
Atas ialah kandungan terperinci Mengapakah Operasi Async Rangka Kerja Entiti Saya Lebih Lambat Daripada Operasi Segerak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!