<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; OFF: Оптимизация алгоритма/метода расчёта]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6721&amp;type=atom" />
	<updated>2012-01-23T04:18:51Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6721</id>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55932#p55932" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-01-23T04:18:51Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55932#p55932</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55928#p55928" />
			<content type="html"><![CDATA[<p>Зачем продавать, когда оно работает?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-01-22T19:48:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55928#p55928</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55920#p55920" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-01-22T18:09:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55920#p55920</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55911#p55911" />
			<content type="html"><![CDATA[<p><a href="http://office.microsoft.com/ru-ru/access-help/HA001231518.aspx">Вот</a> ещё какой-то вариант появился...&nbsp; надо порыть...</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-01-22T17:06:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55911#p55911</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55905#p55905" />
			<content type="html"><![CDATA[<p>Всё на этом же...<br />вот ещё Java подучу, там вообще какая-то особенная работа с массивами идёт !!! - подозреваю что надо копать в эту сторону...<br />У меня вообще в голове всё переворачивается, когда смотрю эти видеоуроки...<br />А как там потоки создаются - дык это вообще песня... этот материал вообще рассказывается для курса новичков !!!<br />А чо тогда профы делают - вообще АТАС !!!</p><p>Вообщем если у кого нибудь будут предложения по оптимизации алгоритма - то УРА, иначе пока что реальным выглядит только &quot;железное решение&quot;...</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-01-22T16:00:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55905#p55905</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55904#p55904" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-01-22T15:42:45Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55904#p55904</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55902#p55902" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-01-22T14:54:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55902#p55902</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55899#p55899" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-01-22T13:57:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55899#p55899</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55897#p55897" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-01-22T13:41:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55897#p55897</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[OFF: Оптимизация алгоритма/метода расчёта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=55896#p55896" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-01-22T13:22:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=55896#p55896</id>
		</entry>
</feed>
