<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; OFF: Оптимизация алгоритма/метода расчёта]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=6721</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6721&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «OFF: Оптимизация алгоритма/метода расчёта».]]></description>
		<lastBuildDate>Mon, 23 Jan 2012 04:18:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55932#p55932</link>
			<description><![CDATA[<p>Коллеги !!!<br />Чувствую себя Колумбом, открывшим Америку (как говорит Xameleon)...<br />Вообщем есть такое только в Access, чудо инструкция в SQL запросе называется TRANSFORM !!!<br />SQL запрос приобретает следующий вид:<br /></p><div class="codebox"><pre><code>TRANSFORM Sum(kolvo) SELECT офис FROM ZAKAZ Where Period=&#039;январь 2012&#039; and control=1 PIVOT rashodnik</code></pre></div><p>можно ещё вот так, если заголовки столбцов нужны в определённом порядке<br /></p><div class="codebox"><pre><code>TRANSFORM Sum(kolvo) SELECT офис FROM ZAKAZ Where Period=&#039;январь 2012&#039; and control=1 PIVOT rashodnik in (&#039;Тонер OKI  4200&#039;,&#039;Тонер OKI  410&#039;,&#039;Тонер OKI  411&#039;)</code></pre></div><p>здесь:<br />офис - встают заголовками строк в своде<br />rashodnik - заголовки столбцов</p><p>время расчёта ~ 1 сек !!!<br />Вопрос на лопатках !<br />Тема закрыта !</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Mon, 23 Jan 2012 04:18:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55932#p55932</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55928#p55928</link>
			<description><![CDATA[<p>Зачем продавать, когда оно работает?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 22 Jan 2012 19:48:30 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55928#p55928</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55920#p55920</link>
			<description><![CDATA[<p><strong>Евген</strong>, java по-моему компилируется в байт-код, а не в машинный, поэтому си и делфи будут шустрее работать.<br />Замерьте время выполнения запроса и остальных участков кода, хотя бы будет ясно что нужно оптимизировать.<br />Работа с целочисленным массивом в типизированном языке будет значительно быстрее, поскольку там это просто непрерывный участок памяти.<br /></p><div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>... этот материал вообще рассказывается для курса новичков !!!...</p></blockquote></div><p>Странно, мне казалось, что проблемы бывают только при изучении первого языка <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> .<br /></p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Запросто <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /> . Могу и Celeron 266. И даже 8086 (именно что не 8088, а 8086).</p></blockquote></div><p>Когда я родился, они уже вышли из употребления <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> . Хочешь его на eBay через пару лет продать? <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sun, 22 Jan 2012 18:09:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55920#p55920</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55911#p55911</link>
			<description><![CDATA[<p><a href="http://office.microsoft.com/ru-ru/access-help/HA001231518.aspx">Вот</a> ещё какой-то вариант появился...&nbsp; надо порыть...</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Sun, 22 Jan 2012 17:06:02 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55911#p55911</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55905#p55905</link>
			<description><![CDATA[<p>Всё на этом же...<br />вот ещё Java подучу, там вообще какая-то особенная работа с массивами идёт !!! - подозреваю что надо копать в эту сторону...<br />У меня вообще в голове всё переворачивается, когда смотрю эти видеоуроки...<br />А как там потоки создаются - дык это вообще песня... этот материал вообще рассказывается для курса новичков !!!<br />А чо тогда профы делают - вообще АТАС !!!</p><p>Вообщем если у кого нибудь будут предложения по оптимизации алгоритма - то УРА, иначе пока что реальным выглядит только &quot;железное решение&quot;...</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Sun, 22 Jan 2012 16:00:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55905#p55905</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55904#p55904</link>
			<description><![CDATA[<div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>На 2 вопроса - 2 ответа <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p><img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>3) БД MS Access</p></blockquote></div><p>А запрос идёт на другой компьютер или всё на этом несчастном Celeron&#039;е?<br />Если на другой, то можно всю программу составить на запросах.<br />В противном случае всё время должно уходить на обработку этого запроса и сильно оптимизировать не выйдет. Разве что можно попробовать кэшировать результаты запросов(если часто запрашиваются одни и те же данные).</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sun, 22 Jan 2012 15:42:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55904#p55904</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55902#p55902</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>Два вопроса:<br />1) Чем не устраивают компилируемые языки?<br />2) Как можно предложить улучшенный вариант, если неизвестен оригинальный?(Celeron 1800 мало кто сможет нарыть <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />)<br />3) Что представляет из себя база данных?</p></blockquote></div><p>На 2 вопроса - 2 ответа <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />1) - если это Java - то почему бы и нет... (как раз приступил к изучению)<br />2) Описываю существующий в &quot;двух словах&quot;:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; а) создаю 2х мерный массив - в размер сводной таблицы, заполняю в ней офисы и расходники.<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; а) по БД делаю выборку за данный период в рекордсет<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; б) затем пробегаюсь по всему рекодсету (методом .FindFirst) в поисках офиса (из левого столбца сводной таблицы) и названия расходника (из верхней строки сводной таблицы)<br />3) БД MS Access</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Sun, 22 Jan 2012 14:54:16 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55902#p55902</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55899#p55899</link>
			<description><![CDATA[<p>OFF:</p><div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>Celeron 1800 мало кто сможет нарыть</p></blockquote></div><p>Запросто <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />. Могу и Celeron 266. И даже 8086 (именно что не 8088, а 8086).</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 22 Jan 2012 13:57:42 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55899#p55899</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55897#p55897</link>
			<description><![CDATA[<p>Два вопроса:<br />1) Чем не устраивают компилируемые языки?<br />2) Как можно предложить улучшенный вариант, если неизвестен оригинальный?(Celeron 1800 мало кто сможет нарыть <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />)<br />3) Что представляет из себя база данных?</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sun, 22 Jan 2012 13:41:30 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55897#p55897</guid>
		</item>
		<item>
			<title><![CDATA[OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=55896#p55896</link>
			<description><![CDATA[<p>Коллеги, приветствую !<br />Прошу помочь в оптимизации алгоритма/метода расчёта сводной таблицы по заказу расходных материалов.<br />Смысл в следующем, каждый офис ежемесячно заказывает на следующий месяц расходные материалы (тонеры, картриджы, ленты к калькуляторам и т.д. и т.п. ~ 35 позиций).<br />Количество офисов ~ 200<br /> Всё это хозяйство сводится в единую таблицу за каждый месяц:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Период&nbsp; №№</p><p>офис/рм&nbsp; &nbsp; &nbsp; &nbsp;| картридж №1&nbsp; |&nbsp; тонер № 1&nbsp; |&nbsp; лента&nbsp; | ...&nbsp; &nbsp;...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; | картридж №35<br />------------------------------------------------------------------------------------------------------------<br />Офис №1&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; | кол-во | ...&nbsp; &nbsp;...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; кол-во<br />Офис №2&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; | кол-во | ...&nbsp; &nbsp;...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; кол-во<br />Офис №3&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; | кол-во | ...&nbsp; &nbsp;...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; кол-во<br />...<br />...<br />...<br />Офис №200 |&nbsp; &nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; кол-во&nbsp; &nbsp; &nbsp; &nbsp; | кол-во | ...&nbsp; &nbsp;...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; кол-во<br />ИТОГО&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; сумма NN&nbsp; &nbsp; &nbsp; | сумма NN&nbsp; &nbsp; &nbsp;|суммаNN| ...&nbsp; ....&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; сумма NN&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p><br /><p>Имеется следующая база данных:</p><p>офис | период | наименование р.м. | кол-во | контроль</p><p>офис - наименование офиса сделавшего заказ<br />период - период, на который сделал офис заказ расходки<br />наименование р.м. - наименование расходного материала (тонер, картридж, лента и т.д. и т.п.)<br />кол-во - количество в штуках нужного расходного материала<br />контроль - 0 или 1 - признак того, что заказ проверен и его можно включать в итоговый свод.</p><p>Имеющийся сейчас алгоритм обеспечивает расчёт полного свода по всем офисам ~ 30-35 сек (комп - Celeron 1800 <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />)<br />Есть желание оптимизировать алгоритм...</p><p><strong>Немного истории:</strong> когда данное хозяйство внедрялось, то первоначально было задание просто сделать, чтобы заработало, офисов было ~ 50, время расчёта ~ 55-60 сек. При том количестве офисов оптимизировал алгоритм, время стало 9 сек. Сейчас вопрос снова назревает...<br />Я конечно перед руководством поставил &quot;железные требования&quot;, но мне кажется алгоритм можно доточить...</p><p><strong>P.S:&nbsp; Задачу решать на VBS !!!</strong></p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Sun, 22 Jan 2012 13:22:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=55896#p55896</guid>
		</item>
	</channel>
</rss>
