Mysql
 sql >> база данни >  >> RDS >> Mysql

Възможно ли е да се актуализират няколко реда наведнъж с помощта на Zend_Db_Table?

Това, което питате, не се изпълнява често, тъй като обикновено използвате update() или да зададете много записи да имат еднакви стойности, или да зададете един запис да има много различни стойности.

Един начин за заобикаляне на това е обобщаването на актуализациите, така че с помощта на вашия масив вземете всички идентификатори, където годината е 2011, след което изпълнете това:

 $where = array();

 // This where should contain all the ids that need the year set to 2011
 // E.g.
 $where[] = array("id" => 3);

 $db->update("table_name", array("year" => 2011), $where);

Това ще намали броя на заявките, ако приемем, че имате много редове с една и съща година. Документацията за това е тук .

Или можете да използвате метод като това

Редактиране след OP отговор

Самото естество на проблема означава, че той не може да бъде решен ефективно.

Вие питате за начин за актуализиране на 3700 реда данни с много различни набори от данни. Ако наборите от данни са различни, тогава няма модел, който можете да използвате, за да направите това ефективно. Намирането на шаблони, като редове с една и съща година, и използването им във ваша полза ще увеличи скоростта на заявката, но ще изисква известна активност на мозъка под формата на смесване на масиви както е отбелязано от regilero.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. формата не работи с mysql

  2. Ще бъде ли изграждането на приложение с помощта на Sql Server Database File (mdf) ужасна идея?

  3. Вмъкване на прост списък в MySQL таблица (php)

  4. Какво е добро безплатно RDBMS решение за малък уеб проект, който може да стане голям, ако е успешен?

  5. sql изтрива всички редове, по-стари от 30 дни