рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдбреЗрдЯрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╣рд░ рдЬрдЧрд╣ рд╡реЗ рдмрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░рдгрд┐рдпрд╛рдБ рдХрд┐рддрдиреА рддреЗрдЬрд╝ рд╣реИрдВ, рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХрд┐рддрдирд╛ рдзреАрдорд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА:
- рд░реЗрдЧреБрд▓рд░ рд▓реИрдкрдЯреЙрдк: рдЗрдВрдЯреЗрд▓ рдХреЛрд░ 2 рдбреБрдУ 2.13GHz, рд░реИрдо 6 рдЬреАрдмреА
- php 5.3
- рдЕрдкрд╛рдЪреЗ реи.реи
-
рдврд╛рдВрдЪрд╛ Yii 1.1.10-
рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдбрдЯреЗрд╕реНрдЯ рд╡рд┐рд╡рд░рдг:
рдПрдХ рд╡рд░реНрдЧ рд╣реИ -
class Address extends CActiveRecord { тАж }
рдПрдХ рдорд┐рд▓рд┐рдпрди (1,000,000) рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЪрдХреНрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░:
- рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рджреА рд╣реИред
$address = new Address();
- рд╕рд┐рдВрдЧрд▓рдЯрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
$address = Address::model();
- рдПрдХ рд╕рд░рдгреА рдШреЛрд╖рд┐рдд рдФрд░ рдЖрдмрд╛рдж рд╣реИред
$address = array();
- рд╕рд░рд▓ stdClass ()ред
$address = new stdClass();
- рд╣рдо рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рдХрд▓реНрдк 1 рдореЗрдВ) рд▓реЗрдХрд┐рди рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдПрдЖрд░ рдбреЗрдЯрд╛ рдХреЛ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛
$address = new Address(null);
рдкрд░рд┐рдгрд╛рдо (рд╕реЗрдХрдВрдб):
- реирео.рекрепрежремрезрелреорекрекренреирен
- 7.2354989051819
- 4.5744869709015
- 5.9930000305176
- 9.5185680294037
рдирд┐рд╖реНрдХрд░реНрд╖:
- рдмреЗрд╢рдХ, рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ, рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- рдмреЗрд╢рдХ, рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдХреИрдХреНрдЯрд┐рд╡ рд░реЗрдХрд╛рд░реНрдб рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдХреНрдЯрд┐рд╡ рд░рд┐рдХреЙрд░реНрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВ - рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╢реВрдиреНрдп рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ (рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ -
рдЧрд▓рдд рдирд╣реАрдВ, рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ, 0 : 0
$address = new Address(null);
рдФрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪреЗрдВ:
$address->attributes = $_POST['Address']
рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдПрдЖрд░ рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рд╡реИрд╕реЗ рднреА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдордп рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдмрдирд╛рдирд╛:
$address->street = $_POST['Address']['street'];
- рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ - рдореЙрдбрд▓ () - рд╕рд╛рд╡рдзрд╛рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдпрд╣ Yii <v.2 рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ
- рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдЖрд░рд╛рдо рди рдХрд░реЗрдВ - рдЙрдиреНрд╣реЗрдВ рднреА рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╡реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВред
- рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдФрд░ рдЙрддреНрдкрд╛рдж рдХреА рдЧрддрд┐ рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рдХреЛ рд╣рдореЗрд╢рд╛ (рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛) "рд╕реБрдирд╣рд░рд╛ рдорддрд▓рдм" рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкреНрд░рддрд┐ рджрд┐рди рдХрдо рд╕реЗ рдХрдо 50,000 рд╡рд┐рдЬрд╝рд┐рдЯ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреА рдХреЛрдИ рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рдЬрдм рддрдХ рдХрд┐ рдПрдХ рдЕрдбрд╝рдЪрди рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЛрдИ рдмреНрд░реЗрдХ рдирд╣реАрдВ рд╣реИрдВред
рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐
ActiveRecord рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╡рд░реНрдЧ рдЗрддрдирд╛ рд╕рдордп рдХреНрдпреЛрдВ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧреБрдгреЛрдВ / рддрддреНрд╡реЛрдВ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг / рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЧреБрдг / рддрддреНрд╡ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╣реИрдВ, рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдСрдмреНрдЬреЗрдХреНрдЯ / рд╕рд░рдгреА рдХрд╛рдо рдХрд░реЗрдЧреАред рдФрд░ рдЬрдм рд╕реЗ
ActiveRecord рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕рдХреЗ рд▓рд┐рдП
CActiveRecordMetaData рдФрд░
CmysqlTableSchema рдФрд░
CmysqlColumnSchema рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдЕрдкрдиреЗ
dofig рдЧреБрдг рд╣реИрдВ),
ActiveRecord рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛ рдХрд╛ рдореБрдЦреНрдп рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдЗрд╕ рд╡рд┐рд╡рд░рдг рдкрд░ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рдЗрд╕рд╕реЗ рдЖрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдзрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖:
- ActiveRecord рджреНрд╡рд╛рд░рд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдХреЙрд▓рдо рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗ, рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдЙрддрдиреА рд╣реА рд▓рдВрдмреА рд╣реЛ рдЬрд╛рдПрдЧреАред
- рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ SELECT - рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рдХрд┐рддрдиреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рд╣реИ (рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореБрдЭрд╕реЗ рдЧрд▓рддреА рд╣реЛ)ред рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, DAO рдХреА рдЧрддрд┐ рд╕реАрдзреЗ SELECT рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред
рдирдореВрдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб:
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; }
рд╢реЗрд╖ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ
- рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ php рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ mysql рдпрд╛ рдЕрдкрд╛рдЪреЗ рдЕрдиреБрдХреВрд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрд╕реНрдерд╛рдпреА рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХрд┐рд╕реА рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдХреЗ рддрд╣рдд рдХрд┐рд╕реА рд╕рд░рдгреА рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрджрд░реНрд╢ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЖрдкрдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдкрд░реЗрд╢рди рдХреА рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдкреА рдкреА рдПрд╕
рдкрддрд╛ () рд╡рд░реНрдЧ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рд▓рдЧрднрдЧ рдЕрд░реНрде рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред