<?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>Комментарии: Массовый UPDATE в MySQL</title>
	<atom:link href="http://www.charnad.com/blog/massovyj-update-v-mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charnad.com/blog/massovyj-update-v-mysql/</link>
	<description>Блог-центр им. CharnaD</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:42:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Автор: Драйв</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-5476</link>
		<dc:creator>Драйв</dc:creator>
		<pubDate>Fri, 19 Mar 2010 04:29:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-5476</guid>
		<description>Хорошая статья. Действительно было интересно почитать. Не часто такое и встречается та.Наверное стоит подписаться на ваше RSS</description>
		<content:encoded><![CDATA[<p>Хорошая статья. Действительно было интересно почитать. Не часто такое и встречается та.Наверное стоит подписаться на ваше RSS</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Nayjest</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4328</link>
		<dc:creator>Nayjest</dc:creator>
		<pubDate>Tue, 01 Dec 2009 23:28:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4328</guid>
		<description>хм, интересно конечно. Еще интереснее было бы потестить на больших таблицах, действительно ли это быстрее, ведь это в значительной части зависит от реализации движка БД</description>
		<content:encoded><![CDATA[<p>хм, интересно конечно. Еще интереснее было бы потестить на больших таблицах, действительно ли это быстрее, ведь это в значительной части зависит от реализации движка БД</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4316</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Tue, 01 Dec 2009 11:36:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4316</guid>
		<description>единственная проблема, это основной массив содержащий все данные о разделай, что может забивать буффер, но тут уже ничего не сделаешь, чем-то жертвовать приходится.</description>
		<content:encoded><![CDATA[<p>единственная проблема, это основной массив содержащий все данные о разделай, что может забивать буффер, но тут уже ничего не сделаешь, чем-то жертвовать приходится.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4315</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Tue, 01 Dec 2009 11:30:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4315</guid>
		<description>я просто к тому что если есть массив всех разделов, вся информация у нас уже и так имеется, нам остаётся только пробежаться рекурсией, и посчитать записей для родителей, лишних запросов делать не нужно, дальше остаётся только сохранить, для этого можно воспользоваться вашим примером(сохранением). Таким образом, мы уменьшим кол-во запросов во столько раз, сколько родителей.</description>
		<content:encoded><![CDATA[<p>я просто к тому что если есть массив всех разделов, вся информация у нас уже и так имеется, нам остаётся только пробежаться рекурсией, и посчитать записей для родителей, лишних запросов делать не нужно, дальше остаётся только сохранить, для этого можно воспользоваться вашим примером(сохранением). Таким образом, мы уменьшим кол-во запросов во столько раз, сколько родителей.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: CharnaD</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4314</link>
		<dc:creator>CharnaD</dc:creator>
		<pubDate>Tue, 01 Dec 2009 11:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4314</guid>
		<description>Ну если так, то да.</description>
		<content:encoded><![CDATA[<p>Ну если так, то да.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4312</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Tue, 01 Dec 2009 10:49:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4312</guid>
		<description>да, можно и так, но давно я писал код, который собирает все разделы в один массив, и через рекурсию суммирует кол-во записей всех потомков, для этого лишние запросы не нужны, после суммирования, остаётся обновить счётчик(кол-во записей) только родителей, а вот ссылка на тот самый мой код
http://narod.ru/disk/15328134000/_update_count.php.html

большая часть запросов приходится на обновление родителей, по вашему примеру сократить можно до одного запроса.</description>
		<content:encoded><![CDATA[<p>да, можно и так, но давно я писал код, который собирает все разделы в один массив, и через рекурсию суммирует кол-во записей всех потомков, для этого лишние запросы не нужны, после суммирования, остаётся обновить счётчик(кол-во записей) только родителей, а вот ссылка на тот самый мой код<br />
<a href="http://narod.ru/disk/15328134000/_update_count.php.html" rel="nofollow">http://narod.ru/disk/15328134000/_update_count.php.html</a></p>
<p>большая часть запросов приходится на обновление родителей, по вашему примеру сократить можно до одного запроса.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: CharnaD</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4310</link>
		<dc:creator>CharnaD</dc:creator>
		<pubDate>Tue, 01 Dec 2009 10:37:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4310</guid>
		<description>Александр, в вашем случае я бы оставил вариант &quot;UPDATE cats SET cats.cat_counter = ( SELECT COUNT(*) FROM items WHERE items.cat_id=cats.cat_id )&quot;. Потому что, чтобы собрать все данные, вам все равно придется сделать N запросов для подсчета, по количеству категорий. И вам все равно придется обновить каждую строчку таблицы. Так что использовать временную таблицу, я думаю ни к чему.</description>
		<content:encoded><![CDATA[<p>Александр, в вашем случае я бы оставил вариант &#171;UPDATE cats SET cats.cat_counter = ( SELECT COUNT(*) FROM items WHERE items.cat_id=cats.cat_id )&#187;. Потому что, чтобы собрать все данные, вам все равно придется сделать N запросов для подсчета, по количеству категорий. И вам все равно придется обновить каждую строчку таблицы. Так что использовать временную таблицу, я думаю ни к чему.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4309</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Tue, 01 Dec 2009 10:19:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4309</guid>
		<description>хм, интересно, спасибо за идею, надо будет по пробовать. Хотелось ещё дополнительно сократить кол-во запросов перерасчёте кол-во записей у родителей. Я рассказывать не буду, а просто сообщюу ссылку на одну из-за меток автора, про синхронизацию разделов 
http://kurilka.co.ua/archives/sync_counter_mysql/

первый запрос что там приводится, делает пересчёт кол-во записей у каждого раздела, остаётся сделать обновление только родителей, но их может быть порядком, ровно столь коже и запросов, если родителей обновить по вашему примеру, создаём отдельную таблицу, в ней сохраняем кол-во записей уже подсчитанные, а далее обновляем в родной таблице, таким образом, у нас будет 2-3 максимум запроса, при этом кол-во разделов может иметь не ограниченное вложенность разделов, что очень даже не плохо.

Спасибо вам</description>
		<content:encoded><![CDATA[<p>хм, интересно, спасибо за идею, надо будет по пробовать. Хотелось ещё дополнительно сократить кол-во запросов перерасчёте кол-во записей у родителей. Я рассказывать не буду, а просто сообщюу ссылку на одну из-за меток автора, про синхронизацию разделов<br />
<a href="http://kurilka.co.ua/archives/sync_counter_mysql/" rel="nofollow">http://kurilka.co.ua/archives/sync_counter_mysql/</a></p>
<p>первый запрос что там приводится, делает пересчёт кол-во записей у каждого раздела, остаётся сделать обновление только родителей, но их может быть порядком, ровно столь коже и запросов, если родителей обновить по вашему примеру, создаём отдельную таблицу, в ней сохраняем кол-во записей уже подсчитанные, а далее обновляем в родной таблице, таким образом, у нас будет 2-3 максимум запроса, при этом кол-во разделов может иметь не ограниченное вложенность разделов, что очень даже не плохо.</p>
<p>Спасибо вам</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Snowcore</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4306</link>
		<dc:creator>Snowcore</dc:creator>
		<pubDate>Tue, 01 Dec 2009 10:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4306</guid>
		<description>Прикольно, надо будет попробовать!</description>
		<content:encoded><![CDATA[<p>Прикольно, надо будет попробовать!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: CharnaD</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4305</link>
		<dc:creator>CharnaD</dc:creator>
		<pubDate>Tue, 01 Dec 2009 10:07:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4305</guid>
		<description>Да. Скажем у нас 500 записей. 1 запрос будет выполняться значительно быстрее, чем 500 запросов, даже если этот один будет очень длинный.

При таком комбинированном INSERT будет 1 запрос.</description>
		<content:encoded><![CDATA[<p>Да. Скажем у нас 500 записей. 1 запрос будет выполняться значительно быстрее, чем 500 запросов, даже если этот один будет очень длинный.</p>
<p>При таком комбинированном INSERT будет 1 запрос.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://www.charnad.com/blog/massovyj-update-v-mysql/comment-page-1/#comment-4299</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Tue, 01 Dec 2009 04:45:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.charnad.com/?p=841#comment-4299</guid>
		<description>извиняюсь, что это даёт? увеличится производительность такого метода сохранения?

да и при выполнении:

INSERT INTO ids VALUES 
    (0, &#039;http://url1.ru&#039;),
    (0, &#039;http://url2.ru&#039;),
    (0, &#039;http://url3.ru&#039;);

сколько запросов 1 или 3 будет?</description>
		<content:encoded><![CDATA[<p>извиняюсь, что это даёт? увеличится производительность такого метода сохранения?</p>
<p>да и при выполнении:</p>
<p>INSERT INTO ids VALUES<br />
    (0, &#8216;<a href="http://url1.ru" rel="nofollow">http://url1.ru</a>&#8216;),<br />
    (0, &#8216;<a href="http://url2.ru" rel="nofollow">http://url2.ru</a>&#8216;),<br />
    (0, &#8216;<a href="http://url3.ru" rel="nofollow">http://url3.ru</a>&#8216;);</p>
<p>сколько запросов 1 или 3 будет?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

