<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Bug Tracker: модель и страницы приложения (часть пятая)</title>
	<atom:link href="http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Sat, 31 Jul 2010 22:06:47 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4432</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Thu, 19 Mar 2009 16:48:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4432</guid>
		<description>Да, привычки решают все :)</description>
		<content:encoded><![CDATA[<p>Да, привычки решают все <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big_Shark</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4427</link>
		<dc:creator>Big_Shark</dc:creator>
		<pubDate>Wed, 18 Mar 2009 23:20:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4427</guid>
		<description>Ну знаки сравнения используються не так уж и часто.
Когда мне необходимо их использовать я часто пишу $this-&gt;db-&gt;where(&#039;id db-&gt;where(&#039;`id` &lt; &#039;.$id);

&lt;blockquote&gt;для того, чтобы переписать его с использованием AR приходилось постоянно смотреть мануал.&lt;/blockquote&gt;
Это так сказаться непривычки.
Если пользоваться им постоянно но уже на автомате пишешь запросы на АС.</description>
		<content:encoded><![CDATA[<p>Ну знаки сравнения используються не так уж и часто.<br />
Когда мне необходимо их использовать я часто пишу $this-&gt;db-&gt;where(&#039;id db-&gt;where(&#039;`id` &lt; &#039;.$id);</p>
<blockquote><p>для того, чтобы переписать его с использованием AR приходилось постоянно смотреть мануал.</p></blockquote>
<p>Это так сказаться непривычки.<br />
Если пользоваться им постоянно но уже на автомате пишешь запросы на АС.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4426</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Wed, 18 Mar 2009 18:31:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4426</guid>
		<description>&lt;blockquote&gt;Так вы в простые запросы добавьте тоже LIMIT и WHERE&lt;/blockquote&gt;

Без разницы :) В таблице bugs около 10 записей, а в categories - вообще 3.

А насчет удобства записи AR вы правы. Этот момент я почему-то упустил из виду. Цепочка вызовов AR выглядит гораздо аккуратнее, чем разорванная строка SQL запроса.

Просто у меня было несколько ситуаций когда я знал как написать запрос на чистом SQL, но для того, чтобы переписать его с использованием AR приходилось постоянно смотреть мануал.

Особенно не нравится когда приходится использовать знаки сравнения в названиях ключей:
&lt;code&gt;$this-&gt;db-&gt;having(array(&#039;title =&#039; =&gt; &#039;My Title&#039;, &#039;id &lt;&#039; =&gt; $id));
// Produces: HAVING title = &#039;My Title&#039;, id &lt; 45&lt;/code&gt;
(пример из мануала CI)

Хотя, это, конечно, дело привычки.</description>
		<content:encoded><![CDATA[<blockquote><p>Так вы в простые запросы добавьте тоже LIMIT и WHERE</p></blockquote>
<p>Без разницы <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  В таблице bugs около 10 записей, а в categories &#8211; вообще 3.</p>
<p>А насчет удобства записи AR вы правы. Этот момент я почему-то упустил из виду. Цепочка вызовов AR выглядит гораздо аккуратнее, чем разорванная строка <acronym title="Structured Query Language">SQL</acronym> запроса.</p>
<p>Просто у меня было несколько ситуаций когда я знал как написать запрос на чистом <acronym title="Structured Query Language">SQL</acronym>, но для того, чтобы переписать его с использованием AR приходилось постоянно смотреть мануал.</p>
<p>Особенно не нравится когда приходится использовать знаки сравнения в названиях ключей:<br />
<code>$this->db->having(array('title =' =&gt; 'My Title', 'id &lt;' =&gt; $id));<br />
// Produces: HAVING title = 'My Title', id &lt; 45</code><br />
(пример из мануала CI)</p>
<p>Хотя, это, конечно, дело привычки.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big_Shark</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4423</link>
		<dc:creator>Big_Shark</dc:creator>
		<pubDate>Tue, 17 Mar 2009 23:26:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4423</guid>
		<description>Так вы в простые запросы добавьте тоже LIMIT и WHERE 
Тест конечно очень приблизительный)))

&lt;blockquote&gt;Согласен, но ведь и работу Active Record практически не упрощает.&lt;/blockquote&gt;
Несогласен мне с ним допустим намного легче работать чем без него так как я не заморачиваюсь с тем сколько у меня WHERE условий было ли уже такое условие или с WHERE IN я просто получил массив ID и передал его в эту переменную а так мне следует его разбить запятыми с кавычками и дописать в запрос.
Я сейчас поддерживаю несколько сайтов и только на 1 из них Active Record  и разницу в легкости работы с ними я очень замечаю
То что я на Active Record  рекорд делаю в 2-3 строки без него я делаю в 5-6 и более.
Все это уходит лишь на преобразования данных для запроса.</description>
		<content:encoded><![CDATA[<p>Так вы в простые запросы добавьте тоже LIMIT и WHERE<br />
Тест конечно очень приблизительный)))</p>
<blockquote><p>Согласен, но ведь и работу Active Record практически не упрощает.</p></blockquote>
<p>Несогласен мне с ним допустим намного легче работать чем без него так как я не заморачиваюсь с тем сколько у меня WHERE условий было ли уже такое условие или с WHERE IN я просто получил массив ID и передал его в эту переменную а так мне следует его разбить запятыми с кавычками и дописать в запрос.<br />
Я сейчас поддерживаю несколько сайтов и только на 1 из них Active Record  и разницу в легкости работы с ними я очень замечаю<br />
То что я на Active Record  рекорд делаю в 2-3 строки без него я делаю в 5-6 и более.<br />
Все это уходит лишь на преобразования данных для запроса.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4420</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Tue, 17 Mar 2009 17:11:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4420</guid>
		<description>Хочу уточнить. Похоже такой результат получился благодаря внутреннему кэшированию MySql</description>
		<content:encoded><![CDATA[<p>Хочу уточнить. Похоже такой результат получился благодаря внутреннему кэшированию MySql</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4417</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Tue, 17 Mar 2009 16:58:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4417</guid>
		<description>&lt;blockquote&gt;а через Active Record очень незначительно&lt;/blockquote&gt;

Согласен, но ведь и работу Active Record практически не упрощает.

&lt;blockquote&gt;Это верно но.&lt;/blockquote&gt;

Провел небольшой &lt;a href=&quot;http://www.simplecoding.org/wp-content/uploads/2009/03/bugtracker_requests.png&quot; rel=&quot;nofollow&quot;&gt;тест&lt;/a&gt;. Это, конечно, очень не точно, но сложный запрос выполнился быстрее двух простых ;)</description>
		<content:encoded><![CDATA[<blockquote><p>а через Active Record очень незначительно</p></blockquote>
<p>Согласен, но ведь и работу Active Record практически не упрощает.</p>
<blockquote><p>Это верно но.</p></blockquote>
<p>Провел небольшой <a href="http://www.simplecoding.org/wp-content/uploads/2009/03/bugtracker_requests.png" rel="nofollow">тест</a>. Это, конечно, очень не точно, но сложный запрос выполнился быстрее двух простых <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Наталья</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4408</link>
		<dc:creator>Наталья</dc:creator>
		<pubDate>Tue, 17 Mar 2009 11:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4408</guid>
		<description>И что следует после но? если не секрет?</description>
		<content:encoded><![CDATA[<p>И что следует после но? если не секрет?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big_Shark</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4402</link>
		<dc:creator>Big_Shark</dc:creator>
		<pubDate>Mon, 16 Mar 2009 22:33:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4402</guid>
		<description>Active Record не единственный но самый быстрый и он встроен в CI

&lt;blockquote&gt;Стоит ли их использовать - вопрос другой. Быстродействие в любом случае снижается.&lt;/blockquote&gt;

Через ORM быстродействие сильно снижается а через Active Record очень незначительно.

&lt;blockquote&gt;все зависит от запроса и конкретной базы&lt;/blockquote&gt;
Это верно но.</description>
		<content:encoded><![CDATA[<p>Active Record не единственный но самый быстрый и он встроен в CI</p>
<blockquote><p>Стоит ли их использовать &#8211; вопрос другой. Быстродействие в любом случае снижается.</p></blockquote>
<p>Через ORM быстродействие сильно снижается а через Active Record очень незначительно.</p>
<blockquote><p>все зависит от запроса и конкретной базы</p></blockquote>
<p>Это верно но.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4401</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Mon, 16 Mar 2009 17:07:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4401</guid>
		<description>У меня точно такая же. Модели и рисунки нормально создаются, но экспортировать (сохранить) я их не могу.</description>
		<content:encoded><![CDATA[<p>У меня точно такая же. Модели и рисунки нормально создаются, но экспортировать (сохранить) я их не могу.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/bug-tracker-model-i-stranicy-prilozheniya-chast-pyataya.html#comment-4400</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Mon, 16 Mar 2009 17:05:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=784#comment-4400</guid>
		<description>&gt;&gt; такое чувство что статья не о чем

Тут вы правы :) Все архитектурные вопросы уже обсуждались, а здесь только примеры

&gt;&gt; Зато АС будет работать на любой платформе будь то MySQL или что либо другое

По идее SQL код будет работать на любой платформе если в нем нет специфичных (для конкретной базы) операторов.

&gt;&gt; не нужно заморачиваться с ручным описанием всем WHERE условий

В AC вы тоже пишите их вручную, только в другом формате ;)
К тому же Active Record не единственный паттерн для работы с БД. Например, есть еще Data Gateway, Data Mapper и ORM.

Стоит ли их использовать - вопрос другой. Быстродействие в любом случае снижается.

Мне лично в AC не нравиться то, что цепочка вызовов методов AC практически дублирует SQL запрос. И работа при этом практически не ускоряется.

&gt;&gt; 1 сложный запрос выполняется дольше чем 2 простых

все зависит от запроса и конкретной базы</description>
		<content:encoded><![CDATA[<p>>> такое чувство что статья не о чем</p>
<p>Тут вы правы <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Все архитектурные вопросы уже обсуждались, а здесь только примеры</p>
<p>>> Зато АС будет работать на любой платформе будь то MySQL или что либо другое</p>
<p>По идее SQL код будет работать на любой платформе если в нем нет специфичных (для конкретной базы) операторов.</p>
<p>>> не нужно заморачиваться с ручным описанием всем WHERE условий</p>
<p>В AC вы тоже пишите их вручную, только в другом формате <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
К тому же Active Record не единственный паттерн для работы с БД. Например, есть еще Data Gateway, Data Mapper и ORM.</p>
<p>Стоит ли их использовать &#8211; вопрос другой. Быстродействие в любом случае снижается.</p>
<p>Мне лично в AC не нравиться то, что цепочка вызовов методов AC практически дублирует SQL запрос. И работа при этом практически не ускоряется.</p>
<p>>> 1 сложный запрос выполняется дольше чем 2 простых</p>
<p>все зависит от запроса и конкретной базы</p>
]]></content:encoded>
	</item>
</channel>
</rss>
