<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: CakePHP 1.2 - Tuning the ACL via MySQL</title>
	<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/</link>
	<description>A Web Development Company Specializing In Standard-Based Web Design and the CakePHP Framework.</description>
	<pubDate>Sun, 05 Feb 2012 10:17:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: index everything</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-20474</link>
		<dc:creator>index everything</dc:creator>
		<pubDate>Tue, 22 Feb 2011 10:33:15 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-20474</guid>
		<description>Ensuring indexes in place is always the obvious step.

What you really want to watch out for with CakePHP ACLs is granularity.

Make sure you aren't storing users in the aro tree if you don't need per user permissions.

If your site is intended to have more than a few dozen users I highly recommend groupwise permissions only. Whether that improves performance or not isn't important.

You will avoid allot of maintenance problems down the road. Looking after the permissions tree for thousands/millions of users is potentially a major undertaking. Once it gets large it is not an easy structure to debug or repair. You may fine yourself facing bizarre problems that are best solved by rebuilding the entire tree.</description>
		<content:encoded><![CDATA[<p>Ensuring indexes in place is always the obvious step.</p>
<p>What you really want to watch out for with CakePHP ACLs is granularity.</p>
<p>Make sure you aren&#8217;t storing users in the aro tree if you don&#8217;t need per user permissions.</p>
<p>If your site is intended to have more than a few dozen users I highly recommend groupwise permissions only. Whether that improves performance or not isn&#8217;t important.</p>
<p>You will avoid allot of maintenance problems down the road. Looking after the permissions tree for thousands/millions of users is potentially a major undertaking. Once it gets large it is not an easy structure to debug or repair. You may fine yourself facing bizarre problems that are best solved by rebuilding the entire tree.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nilsel</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-14889</link>
		<dc:creator>nilsel</dc:creator>
		<pubDate>Fri, 27 Aug 2010 15:01:15 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-14889</guid>
		<description>Thanks! Shaved 16000 ms (!!!) of one single ACL-query! Now I can proclaim major success in making the app faster ;)</description>
		<content:encoded><![CDATA[<p>Thanks! Shaved 16000 ms (!!!) of one single ACL-query! Now I can proclaim major success in making the app faster <img src='http://blog.loadsys.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jagent</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-13041</link>
		<dc:creator>Jagent</dc:creator>
		<pubDate>Tue, 04 May 2010 10:10:33 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-13041</guid>
		<description>Thanks a bunch. I was running up against the JOIN_LIMIT set by my host and getting the "Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references: Aro: Array" error. This fixed the issue. Appreciate it.</description>
		<content:encoded><![CDATA[<p>Thanks a bunch. I was running up against the JOIN_LIMIT set by my host and getting the &#8220;Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references: Aro: Array&#8221; error. This fixed the issue. Appreciate it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Florian</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-10991</link>
		<dc:creator>Florian</dc:creator>
		<pubDate>Wed, 27 Jan 2010 07:42:43 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-10991</guid>
		<description>Boy, that saved me a good 3500 milisecons...</description>
		<content:encoded><![CDATA[<p>Boy, that saved me a good 3500 milisecons&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Crookes &#187; Get ALL ACL permissions</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-5014</link>
		<dc:creator>Neil Crookes &#187; Get ALL ACL permissions</dc:creator>
		<pubDate>Wed, 25 Feb 2009 23:25:43 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-5014</guid>
		<description>[...] hunted around for some solutions and found a couple of posts suggesting additional indexes (indices?) on the table, so I tried adding them and it had a positive [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] hunted around for some solutions and found a couple of posts suggesting additional indexes (indices?) on the table, so I tried adding them and it had a positive [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrice Lazareff</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-2596</link>
		<dc:creator>Patrice Lazareff</dc:creator>
		<pubDate>Fri, 08 Aug 2008 15:46:14 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-2596</guid>
		<description>Thanks for the tip.

After having some troubles, I added this index on the ACO table :

 ALTER TABLE `acos` ADD INDEX ( `foreign_key` , `lft` ) 

It helps the many selects that have to be done to find the parent node when inserting large number of related objects.</description>
		<content:encoded><![CDATA[<p>Thanks for the tip.</p>
<p>After having some troubles, I added this index on the ACO table :</p>
<p> ALTER TABLE `acos` ADD INDEX ( `foreign_key` , `lft` ) </p>
<p>It helps the many selects that have to be done to find the parent node when inserting large number of related objects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yves</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-2564</link>
		<dc:creator>Yves</dc:creator>
		<pubDate>Tue, 05 Aug 2008 22:37:36 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-2564</guid>
		<description>Great tip. I was doing some research about possible cakePHP performance issues and found some post concerning slowness with cakePHP ACL's. Now this seems to be the solution.</description>
		<content:encoded><![CDATA[<p>Great tip. I was doing some research about possible cakePHP performance issues and found some post concerning slowness with cakePHP ACL&#8217;s. Now this seems to be the solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-03-21 &#171; Richard@Home</title>
		<link>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-885</link>
		<dc:creator>links for 2008-03-21 &#171; Richard@Home</dc:creator>
		<pubDate>Fri, 21 Mar 2008 05:17:21 +0000</pubDate>
		<guid>http://blog.loadsys.com/2008/03/19/cakephp-12-tuning-the-acl-via-mysql/#comment-885</guid>
		<description>[...] CakePHP 1.2 - Tuning the ACL via MySQL &#124; LoadStr - A Loadsys Blog Useful tip for improving the performance of large ACOS and AROS tables in CakePHP (tags: cakephp auth acos aros mysql) [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] CakePHP 1.2 - Tuning the ACL via MySQL | LoadStr - A Loadsys Blog Useful tip for improving the performance of large ACOS and AROS tables in CakePHP (tags: cakephp auth acos aros mysql) [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

