Saya punya permintaan seperti ini
SELECT
[EstimateId],
[CreationUserId],
[EstimateStatusValueId],
[LanguageId],
[LocationId],
[EstimatorUserId],
[FilterUnitSystemTypeId],
[EstimateNumber],
[RevisionNumber],
[CreationDate],
[ModificationDate],
[ProjectDescription],
[IsBsdq],
[ClosingDate],
[ClosingTime],
[ClosingUpdatedOn],
[DeadLineDate],
[IsReceived],
[Inclusion],
[Exclusion],
[Misc],
[Note],
[WorkDeadLines],
[Comments],
[Validity],
[PlansLocation],
[PlansReceivedFrom],
[Price]
FROM [Estimate].[Estimates]
ORDER BY [ClosingDate] ASC, [ClosingTime] ASC
Ketika saya menjalankan kueri ini di SSMS saya mendapatkan waktu pelaksanaan 953ms, tetapi ketika saya menjalankan kueri ini dari Linq Query di C # saya mendapatkan waktu pelaksanaan 1813ms.
Kueri Linq menggunakan ".Net SqlClient Data Provider" dan dikeluarkan terhadap EntityFramework (file EDMX). Apakah ini bisa menjadi masalah?
Adakah yang tahu mengapa saya memiliki perbedaan besar antara waktu eksekusi permintaan yang sama tetapi mengeksekusi dari konteks yang berbeda terhadap database yang sama?
Saya memverifikasi semua rencana eksekusi dari kedua permintaan dan mereka menggunakan indeks yang sama untuk memenuhi permintaan mereka masing-masing.
Untuk melihat rencana eksekusi permintaan C # saya menggunakan profiler SQL untuk menjebak acara Show Plan XML dan saya membandingkannya dengan salah satu SSMS dan keduanya sama.