Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या एकाधिक प्रश्नों को सम्मिलित करने के लिए लूप के लिए उपयोग करने का कोई विकल्प है

कृपया इस प्रश्न को देखें आशा है कि इससे हमारे कोड और गति में सुधार होगा।

एक लूप में SQL क्वेरी करने से बचें

एक सामान्य गलती एक SQL क्वेरी को लूप के अंदर रखना है। इसके परिणामस्वरूप डेटाबेस में कई राउंड ट्रिप होते हैं, और काफी धीमी स्क्रिप्ट होती है। नीचे दिए गए उदाहरण में, आप एकल SQL क्वेरी बनाने के लिए लूप को बदल सकते हैं और अपने सभी उपयोगकर्ताओं को एक साथ सम्मिलित कर सकते हैं।

foreach ($userList as $user) {

  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';

  mysql_query($query);

  }

लूप का उपयोग करने के बजाय, आप डेटा को एकल डेटाबेस क्वेरी में संयोजित कर सकते हैं।

$userData = array();

foreach ($userList as $user) {

    $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';

}

$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);

mysql_query($query);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP foreach उपयोगकर्ता स्क्रिप्ट अपाचे को लटकाने लगती है

  2. स्ट्रिप_टैग काम नहीं कर रहा

  3. MySql स्मृति इंजन अद्यतन विदेशी कुंजी पर जाँच नहीं करता है?

  4. MySQL में हर घंटे के लिए डेटा कैसे प्राप्त करें

  5. मुख्य तालिका में मूल्यों के आधार पर किसी अन्य तालिका से दो अतिरिक्त कॉलम कैसे चुनें?