hey guys
i always though cake has (like yii) some build in lazy loading feature
for the models not needed (although linked in the relation arrays (HM,
HABTM etc)
as stated here:
https://trac.cakephp.org/wiki/notes/1.1.x.x

after wondering why my page got slower and slower on some views that
didnt need most of the > 20 relations for the user model, i did some
research

i found out that almost all models are still included and (probably)
loaded/instantiated
do i need to addiotionally patch the loading behaviour if i want to
have the "real" lazy loading? meaning that the models are loaded only
if really needed for data retrieval or functionatily? (and is this due
to the fact that it still has to support php4?)

as you can see below, most of the models are not even used once in the
queries or the functions called from controller/model

thx :)

"queries" (debug 0! no describes etc) log file:

SELECT `Poll`.`id`, `Poll`.`cat_id`, `Poll`.`user_id`, `Poll`.`name`,
`Poll`.`descr`, `Poll`.`details_descr`, `Poll`.`layout`,
`Poll`.`active`, `Poll`.`creator_info`, `Poll`.`allow_edit`,
`Poll`.`allow_add`, `Poll`.`allow_access`, `Poll`.`allow_vote`,
`Poll`.`allow_comments`, `Poll`.`multiple`, `Poll`.`result_details`,
`Poll`.`result_show`, `Poll`.`result_type`, `Poll`.`start_date`,
`Poll`.`end_date`, `Poll`.`notify`, `Poll`.`modified` FROM `tel_polls`
AS `Poll` WHERE `Poll`.`user_id` = '1' ORDER BY `Poll`.`modified` DESC
LIMIT 20                3       3       1
SELECT `PollOption`.`id`, `PollOption`.`active`,
`PollOption`.`poll_id` FROM `tel_poll_options` AS `PollOption` WHERE
`PollOption`.`poll_id` IN ('49c1c4c3-48a4-4359-8acf-0b1cdb7b895a',
'49dad9cd-597c-45f1-aca3-09a8db7b895a',
'49dab2c5-24bc-46c8-8d28-09a8db7b895a')         5       5       1
SELECT `PollVote`.`id`, `PollVote`.`poll_id` FROM `tel_poll_votes` AS
`PollVote` WHERE `PollVote`.`poll_id` IN
('49c1c4c3-48a4-4359-8acf-0b1cdb7b895a', '49dad9cd-597c-45f1-
aca3-09a8db7b895a', '49dab2c5-24bc-46c8-8d28-09a8db7b895a')             3       
3       1
SELECT `Document`.`id`, `Document`.`foreign_id` FROM `tel_documents`
AS `Document` WHERE `Document`.`type` = 'polls' AND
`Document`.`foreign_id` IN ('49c1c4c3-48a4-4359-8acf-0b1cdb7b895a',
'49dad9cd-597c-45f1-aca3-09a8db7b895a',
'49dab2c5-24bc-46c8-8d28-09a8db7b895a')         3       3       1
SELECT `Comment`.`id`, `Comment`.`foreign_id` FROM `tel_comments` AS
`Comment` WHERE `Comment`.`type` = 'polls' AND `Comment`.`foreign_id`
IN ('49c1c4c3-48a4-4359-8acf-0b1cdb7b895a', '49dad9cd-597c-45f1-
aca3-09a8db7b895a', '49dab2c5-24bc-46c8-8d28-09a8db7b895a')             0       
0       1
SELECT `LogVisitor`.`id`, `LogVisitor`.`foreign_id` FROM
`tel_log_visitors` AS `LogVisitor` WHERE `LogVisitor`.`type` = 'polls'
AND `LogVisitor`.`foreign_id` IN
('49c1c4c3-48a4-4359-8acf-0b1cdb7b895a', '49dad9cd-597c-45f1-
aca3-09a8db7b895a', '49dab2c5-24bc-46c8-8d28-09a8db7b895a')             1       
1       1
SELECT `Role`.`id`, `Role`.`name` FROM `tel_roles` AS `Role` WHERE 1 =
1 ORDER BY `Role`.`parent_id` DESC


"loading" log file:

2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\router.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\controller\component.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\overloadable.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\view\helper.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\class_registry.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\view\view.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\controller\controller.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\dispatcher.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\app_controller.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\polls_controller.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\components\session.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\components\common.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\controller\components\request_handler.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\components\auth.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\components\auth_ext.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\controllers\components\jquery.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\validation.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\model\behavior.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\model\connection_manager.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\model\model.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\app_model.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\poll.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\model\datasources\dbo\dbo_mysql.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\user.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\role.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\cake
\libs\model\behaviors\containable.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\address.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\address_type.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\location.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\country_province.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\country.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\behaviors\multiple_display_fields.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\behaviors\geocoder.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\category.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\date.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\date_type.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\email_address.php
2009-08-10 12:15:25 Load_1249899325: F:\PHP\xampp\htdocs\tel\p\tel
\models\jabber.php

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to