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

Bagaimana cara menggandakan hasil kueri untuk mengurangi jumlah kueri?

PDO sedikit lebih dari yang dipikirkan semua orang. Misalnya, ia memiliki fitur luar biasa untuk Anda, yang disebut PDO::FETCH_GROUP .

Belum lagi peningkatan kecil lainnya yang dapat membuat kode Anda lebih pendek secara dramatis.

$r = $handler->query("SELECT confirmed, c.* FROM comments c")->fetchAll(PDO::FETCH_GROUP);

Apakah semua kode yang Anda butuhkan.

di sini Anda memilih confirmed lapangan terlebih dahulu dan kemudian beri tahu PDO untuk mengelompokkan (atau "menggandakan") hasil berdasarkan nilainya.

Dan sekarang Anda dapat mencetak komentar Anda di mana pun Anda mau

// Awaiting Comments
foreach($r[0] as $r_) {
    echo "<li>$r_[title]</li>";
}

// Confirmed comments
foreach($r[2] as $r_) {
    echo "<li>$r_[title]</li>";
}

Atau, untuk membuatnya dalam satu putaran

$titles = [
    0 => 'Awaiting Comments',
    2 => 'Comments waiting confirmation',
    1 => 'Confirmed Comments',
];

foreach ($titles as $code => $title)
{
    echo "<h3>$title</h3>";
    foreach($r[$code] as $r_) {
        echo "<li>$r_[title]</li>";
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyebab kesalahan MySQL 2014 Tidak dapat menjalankan kueri saat kueri tanpa buffer lainnya aktif

  2. Kunci Asing - Apa yang mereka lakukan untuk saya?

  3. Panjang maksimum untuk teks tipe MySQL

  4. Tidak dapat masuk dengan pengguna yang dibuat di mysql

  5. Apakah ada penurunan kinerja jika ada terlalu banyak kolom dalam sebuah tabel?