рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдХреБрдЫ рд╕рд░рдгрд┐рдпреЛрдВ рд╕реЗ рдореЙрдбрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЕрдиреБрдХреВрд▓рди

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдбреЗрдЯрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╣рд░ рдЬрдЧрд╣ рд╡реЗ рдмрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░рдгрд┐рдпрд╛рдБ рдХрд┐рддрдиреА рддреЗрдЬрд╝ рд╣реИрдВ, рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХрд┐рддрдирд╛ рдзреАрдорд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА:


- рд░реЗрдЧреБрд▓рд░ рд▓реИрдкрдЯреЙрдк: рдЗрдВрдЯреЗрд▓ рдХреЛрд░ 2 рдбреБрдУ 2.13GHz, рд░реИрдо 6 рдЬреАрдмреА
- php 5.3
- рдЕрдкрд╛рдЪреЗ реи.реи
- рдврд╛рдВрдЪрд╛ Yii 1.1.10
- рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб



рдЯреЗрд╕реНрдЯ рд╡рд┐рд╡рд░рдг:


рдПрдХ рд╡рд░реНрдЧ рд╣реИ -
class Address extends CActiveRecord { тАж } 

рдПрдХ рдорд┐рд▓рд┐рдпрди (1,000,000) рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЪрдХреНрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░:
  1. рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рджреА рд╣реИред
     $address = new Address(); 

  2. рд╕рд┐рдВрдЧрд▓рдЯрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
     $address = Address::model(); 

  3. рдПрдХ рд╕рд░рдгреА рдШреЛрд╖рд┐рдд рдФрд░ рдЖрдмрд╛рдж рд╣реИред
     $address = array(); 

  4. рд╕рд░рд▓ stdClass ()ред
     $address = new stdClass(); 

  5. рд╣рдо рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рдХрд▓реНрдк 1 рдореЗрдВ) рд▓реЗрдХрд┐рди рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдПрдЖрд░ рдбреЗрдЯрд╛ рдХреЛ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛
     $address = new Address(null); 



рдкрд░рд┐рдгрд╛рдо (рд╕реЗрдХрдВрдб):


  1. реирео.рекрепрежремрезрелреорекрекренреирен
  2. 7.2354989051819
  3. 4.5744869709015
  4. 5.9930000305176
  5. 9.5185680294037


рдирд┐рд╖реНрдХрд░реНрд╖:




рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ ActiveRecord рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╡рд░реНрдЧ рдЗрддрдирд╛ рд╕рдордп рдХреНрдпреЛрдВ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧреБрдгреЛрдВ / рддрддреНрд╡реЛрдВ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг / рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЧреБрдг / рддрддреНрд╡ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╣реИрдВ, рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдСрдмреНрдЬреЗрдХреНрдЯ / рд╕рд░рдгреА рдХрд╛рдо рдХрд░реЗрдЧреАред рдФрд░ рдЬрдм рд╕реЗ ActiveRecord рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕рдХреЗ рд▓рд┐рдП CActiveRecordMetaData рдФрд░ CmysqlTableSchema рдФрд░ CmysqlColumnSchema рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдЕрдкрдиреЗ dofig рдЧреБрдг рд╣реИрдВ), ActiveRecord рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛ рдХрд╛ рдореБрдЦреНрдп рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдЗрд╕ рд╡рд┐рд╡рд░рдг рдкрд░ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдЗрд╕рд╕реЗ рдЖрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

рдЕрдзрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖:




рдирдореВрдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб:



 public function actionIndex() { $mk = microtime(true); for ($i = 0; $i < 1000000; $i++) { $this->test1(); } echo microtime(true) - $mk, '< br/ >'; тАж } public function test1(){ $address = new Address(); $address ->zip = 3423423; $address ->state_ id = 23332; $address ->house = 2234; $address ->street = 'asdfasdf'; $address ->street_type = 'asdfasdfasdfsdf'; $address ->address = 'asdfasdfsdf'; $address ->code = 's'; $address ->name = 'asdfasdfasf'; $address ->latitude = 23.23232; $address ->longitude = 23.342342; } 


рд╢реЗрд╖ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ


  1. рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ php рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ mysql рдпрд╛ рдЕрдкрд╛рдЪреЗ рдЕрдиреБрдХреВрд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  2. рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрд╕реНрдерд╛рдпреА рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХрд┐рд╕реА рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдХреЗ рддрд╣рдд рдХрд┐рд╕реА рд╕рд░рдгреА рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрджрд░реНрд╢ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЖрдкрдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдкрд░реЗрд╢рди рдХреА рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред


рдкреА рдкреА рдПрд╕


рдкрддрд╛ () рд╡рд░реНрдЧ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рд▓рдЧрднрдЧ рдЕрд░реНрде рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/In146707/


All Articles