Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 26469|Jawab: 3

[Sumber] EF berhati-hati dengan data acak

[Salin tautan]
Diposting pada 25/04/2019 17.01.42 | | | |
Hari ini, server mengalami serangan CC, menyebabkan situs web di IIS hang, dan situs web ditutup lagi setelah dimulai ulang, periksa log kesalahan situs web sebagai berikut:

System.Data.Entity.Core.EntityCommandExecutionException: 执行命令定义时出错。有关详细信息,请参阅内部异常。 ---> System.Data.SqlClient.SqlException: 执行超时已过期。完成操作之前已超时或服务器未响应。  ---> System.ComponentModel.Win32Exception: 等待的操作过时。


Sejumlah besar pengecualian batas waktu kueri menyebabkan situs web hang, dan pernyataan SQL batas waktu kueri semuanya berasal dari metode pengambilan data acak, kodenya adalah sebagai berikut:

Kode tersebut secara kasar berarti: 10 buah data dipilih secara acak dari database, selama mereka tidak menduplikasi ID saat ini.

Apa yang tampak seperti persyaratan sederhana telah menyebabkan server menutup telepon! Pernyataan SQL yang dihasilkan oleh kode di atas adalah sebagai berikut:

Rencana pelaksanaannya adalah sebagai berikut:



Jika database memiliki 1 juta data, bukankah dibutuhkan 999.999 data terlebih dahulu, dan kemudian mengambil 10 buah data dari 999.999 data ini?

Tanyakan kepada pria besar dari grup dba dan dapatkan jawabannya: "YaYa Tuhan, itu pasti lambat, dan Anda perlu memanggil pernyataan sql ini berkali-kali.



Awalnya saya pikir itu adalah masalah EF,Faktanya, jika Anda menulis langsung di sql, tidak ada solusi yang baik

Jika demikian, tolong ajari saya!




Mantan:Proyek sumber terbuka HtmlAgilityPack mengimplementasikan crawler web C#
Depan:Video Pembelajaran HCIA 2019
Diposting pada 25/04/2019 17.07.00 |
arif
Diposting pada 26/04/2019 09.20.13 |
Dalam program ini, ada sepuluh angka acak dan kemudian sql dalam angka ini sempurna
Diposting pada 26/04/2019 13.08.53 |
Saya belajar ~~~~~~~~~~~~~~~~
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com