Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

linq ke entitas:optimasi kinerja kueri linq

Hanya tebakan cepat:Count() dan ToList() keduanya menjalankan kueri. Lakukan ToList() terlebih dahulu, dan gunakan daftar yang diterima untuk mendapatkan jumlah elemen.

Seperti ini:

private List<TNews> GetPagedNews(int pagenum, int pagesize,
    AdvSearcherArgs advcArgs, string keyword)
{
    var dataSrc = _dbRawDataContext.TNews.Where(x => x.Id>0);
    if (!string.IsNullOrWhiteSpace(advcArgs.PMAC))
    {
        dataSrc = dataSrc.Where(m => m.Pmac == advcArgs.PMAC);
    }
    if (!string.IsNullOrWhiteSpace(advcArgs.BegineDate))
    {
        var begin = Convertion.ToDate(advcArgs.BegineDate);
        var end = Convertion.ToDate(advcArgs.EndDate);

        dataSrc = dataSrc.Where(m => m.PmacDT >=begin && m.PmacDT<end);
    }
    dataSrc = dataSrc.OrderByDescending(n => n.PmacDT).Skip(pagenum * pagesize).
      Take(pagesize);

    var myList = dataSrc.ToList(); //execute the query to an in-memory list

    var cnt = myList.Count(); //get the count from the already exeuted query
    SetPagerValues(pagenum, pagesize, cnt);

    return myList; //return the list
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menghubungkan ke database menggunakan klien MySQL Workbench

  2. tambahkan kolom ke tabel mysql jika tidak ada

  3. jquery ajax call untuk mengatur opsi pilihan dari tabel MySql

  4. Kueri catatan aktif Codeigniter membutuhkan terlalu banyak waktu untuk memuat data dari database

  5. SQL Masukkan ke dalam tabel baris baru untuk setiap bidang di tabel yang sama