Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Wojciech Gardziński:
Paweł B.:
Po prostu zrób bardziej wiarygodny test.
A proszę bardzo. Dawaj parametry :)
3 tablice po 1000 wierszy (zestawienie obrotów i sald, zakres 1 miesiąc) czyli ani duży ani mały plan kont.
200 zapytań złożonych o salda, obroty, BO. Skoro typowe ma cirka 20 elementów niech będzie (zapytania w języku AFIN.NET).
Połowa zapytań do nieistniejących tabel.
Każde zapytanie inne.
Czyli jakiś ponoć typowy raport za pół roku wykonywany pod koniec marca.
Ilość zapytań w których zwrócona jest wartość niezerowa na poziomie minimum 50.
Oczywiście testujemy metodę z procedurą przeliczającą na serwerze. Jeśli to nie kłopot to dla porównania czas wykonania raportu metodą "tradycyjną", czyli każde zapytanie osobno.
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Zaraz, zaraz...
Trochę tu zmian trzeba...
bo robię przykład "lepszy", bo odczyt z MySQLa na serwerze internetowym. Może być?
Paweł B.:
Wojciech Gardziński:
Paweł B.:
Po prostu zrób bardziej wiarygodny test.
A proszę bardzo. Dawaj parametry :)
3 tablice po 1000 wierszy (zestawienie obrotów i sald, zakres 1 miesiąc) czyli ani duży ani mały plan kont.
Zrobiłem tablice po 4388 kont (rekordów)
200 zapytań złożonych o salda, obroty, BO.
to akurat obojętne czy ow, czy bw, ale ok. bo to nie problem
Skoro typowe ma cirka 20 elementów niech będzie (zapytania w języku AFIN.NET).
typowe nie oznacza średnio. Zrobimy że 5 to srednia, ok?
Połowa zapytań do nieistniejących tabel.
eee tam. Jeżeli to ma być serwer internetowy, to zawsze robię awansem tabele puste. Bo tu byśmy się zagotowali.
Każde zapytanie inne.
Czyli jakiś ponoć typowy raport za pół roku wykonywany pod koniec marca.
Ilość zapytań w których zwrócona jest wartość niezerowa na poziomie minimum 50.
To to trudno zapewnić przy takiej ilości. Robię odczyt z kont będących kolejnymi liczbami naturalnym, więc pewnie będzie sporo dziur
Oczywiście testujemy metodę z procedurą przeliczającą na serwerze.
Tej procedury, przeliczającej na serwerze nie mam podpiętej pod MySQLa i nie wiem, czy będę podpinał, bo na razie dużo lepsze efekty daje AFIN.NET.PowerCalculation.
Jeśli to nie kłopot to dla porównania czas wykonania raportu metodą "tradycyjną", czyli każde zapytanie osobno.
Oj, tego chyba też nie da rady, bo MySQL z 1000 km będzie to robił z tydzień. Ale zrobię mniejsze to aproksymujemy.

Pasi?
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Nu, efekty ciekawe:

AFIN.NET.PowerCalculation
http://afin.net/articles/AfinNet_Article_IdeaOfAfinNet...

3 tabele, każda po 4388 wierszy (poindeksowane po koncie), czyli zapytania do 3 okresów raportowych

Zapytania:
Jak niżej, czyli 8 zapytań szczegółowych w każdym zapytaniu detalicznym.
Zapytania do "kont", będące(*) kolejnymi liczbami naturalnymi w zakresie 1-1000

bw/1+bm/1+mw/1+mm/1+ow/1+om/1+sw/1+sm/1
bw/2+bm/2+mw/2+mm/2+ow/2+om/2+sw/2+sm/2
bw/3+bm/3+mw/3+mm/3+ow/3+om/3+sw/3+sm/3
bw/4+bm/4+mw/4+mm/4+ow/4+om/4+sw/4+sm/4
bw/5+bm/5+mw/5+mm/5+ow/5+om/5+sw/5+sm/5
bw/6+bm/6+mw/6+mm/6+ow/6+om/6+sw/6+sm/6
bw/7+bm/7+mw/7+mm/7+ow/7+om/7+sw/7+sm/7
bw/8+bm/8+mw/8+mm/8+ow/8+om/8+sw/8+sm/8
bw/9+bm/9+mw/9+mm/9+ow/9+om/9+sw/9+sm/9
bw/10+bm/10+mw/10+mm/10+ow/10+om/10+sw/10+sm/10
bw/11+bm/11+mw/11+mm/11+ow/11+om/11+sw/11+sm/11
...

Czyli razem: 3 okresy, 3.000 zapytań detalicznych, 24 tysiące operacji na bazie danych - każda jest sumowaniem kont (nie prostym odczytem wartości), które ZACZYNAJĄ SIĘ od "1", "2", itp.

RAZEM: mniej niż 3 minuty (2'54'')=174s, czyli średnio 17 zapytań detalicznych/sekundę, w tym wypadku to 138 operacji bazodanowych/sekundę
Serwer w Niemczech.


Mój komp: procek i7, 6GB RAM, Win7, Excel2010pl
Internet: ok. 4 Mbit/s
Server: MySQL 5.1 na serwerze afin.vot.pl (gdzieś pod Frankfurtem n.Menem)

Nieźle.

P.S.
Tradycyjnie:
Próba 1-20, czyli wynik (=1'07'')*50 = 3.350s, czyli ok.56 minut, czyli średnio 0,9 zapytania detalicznego na sekundę, czyli prawie 7,2 operacji na sekundę

Przyspieszenie = 3350/174 = 19,25 raza

PS.
(*) Było "będących" i wprowadzało w błąd.Wojciech Gardziński edytował(a) ten post dnia 22.03.12 o godzinie 09:39
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Ale jak to się ma do demonstrowanej sprawności procedury na MS-SQL?
Procedury MS-SQL testujemy na MS-SQL.
Zapytanie "bw/1+bm/1+mw/1+mm/1+ow/1+om/1+sw/1+sm/1" nie ma sensu. Plan kont to nie liczby 1..4388 ale "101-00-01", "101-01-01", "201-01-12345" itd. Zapytania mają mieć postać "sw/??.701.?.*<??.701.0.*>??.702.?.*<??.702.0.*>??.703.?.*"
Plan kont:
[0..9][1..3]-[00..30]-[0..5]

Zapytania:
Z planu wylosuj 1000 kont, dla każdego wylosuj prefix[bw,bm,sw,sm,ow,om] zamień losowo [0..4] cyfr na "?", każde "??" zamień na "*" wylosuj okres [01..06] (nie znalazłem składni obroty w miesiącu ale ponoć się da)
Z tego 1000 złóż 200 zapytań o długości 1..20

Obroty:
Wylosuj 3 zestawy po 1000 kont i umieść wraz z saldami i obrotami w 3 tabelach

Dlaczego to istotne? Bo odczyt kolejnych liczb naturalnych z serwera MySQL pod Frankfurtem to nie to samo co odczyt wg nieregularnych masek na stringach z lokalnego serwera MS-SQL.
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Zaraz, moment, ale tresura!
Szanowny, nie będziemy się tutaj tak tresować. Albo zadania stawiamy sobie poważne albo robimy sobie fidodido. Wymyślasz jakiś przestraszliwy program, a ja mam ho i go zrobić. Ten program wcale nie jest przestraszliwy w sensie trudności tej procedury, ale definicja, że hoho. Tu losuj, tam zamień, tu przykróć, tam wydłuż.
OK. Ale cóś za cóś. Poprosze o zrobienie mojego zadania Twoją metodą. Bo tak, że ja będę robił a ty nosem kręcił, to ja się nie bawię. Bo jak zabawa , to razem.
Rzeczywiście jedynym, czego tu nie dopełniłem to MySQL, a nie MSSQL. Szczerze mówiąc, chciałem porównać te dwie metody. I, ciutkę mnie samego ta prędkość zaskoczyła - pozytywnie.
Paweł B.:
Ale jak to się ma do demonstrowanej sprawności procedury na MS-SQL?
Procedury MS-SQL testujemy na MS-SQL.
Zapytanie "bw/1+bm/1+mw/1+mm/1+ow/1+om/1+sw/1+sm/1" nie ma sensu. Plan kont to nie liczby 1..4388
U mnie plan kont to nie liczby 1..x. Odczyty robiłem wg takich masek. Plan kont był żywej firmy.
ale "101-00-01", "101-01-01", "201-01-12345" itd. Zapytania mają mieć postać "sw/??.701.?.*<??.701.0.*>??.702.?.*<??.702.0.*>??.703.?.*"
Nie masz racji. Plan kont rzeczywiście tak wygląda, ale na czym się testuje, czy na takich, czy na innych cyferkach, znaczenia nie ma. Tu, powtarzam PK był normalny, tylko odczyty były "kolejne", bo tak najłatwiej się je robiło.

Plan kont:
[0..9][1..3]-[00..30]-[0..5]
Ja takich masek nie stosuję. Kiedyś stosowałem, ale mnie księgowi oduczyli. "*" i "?" i są szczęśliwi. Ja wiem, że te [] informatycy uwielbiają, ale ja nie robię nic dla informatyków.

Zapytania:
Z planu wylosuj 1000 kont, dla każdego wylosuj prefix[bw,bm,sw,sm,ow,om] zamień losowo [0..4] cyfr na "?", każde "??" zamień na "*" wylosuj okres [01..06] (nie znalazłem składni obroty w miesiącu ale ponoć się da)
Jak nie ma, jak jest - "obroty miesięczne winien i ma" - "mw" i "mm" (patrz tabelka w artykule).
Z tego 1000 złóż 200 zapytań o długości 1..20

Obroty:
Wylosuj 3 zestawy po 1000 kont i umieść wraz z saldami i obrotami w 3 tabelach

Dlaczego to istotne? Bo odczyt kolejnych liczb naturalnych z serwera MySQL pod Frankfurtem to nie to samo co odczyt wg nieregularnych masek na stringach z lokalnego serwera MS-SQL.
Nieprawda. Prawdą jest tylko to że to MySQL daleko, a to MSSQL pod stołem. Odczyt, czy taka maska, czy inna - znaczenia nie ma. TU BYŁY WSZYSTKIE Z MASKAMI, więc trudniej już być nie może.

Więc co, czekam na wspólne testy, nie tylko wymagania i to, co chwila, rosnące.

P.S.
A, OK.
Rzeczywiście, to ja źle napisałem:
"zapytania do kont, będących kolejnymi liczbami naturalnymi"
powinno być: "będące".Wojciech Gardziński edytował(a) ten post dnia 21.03.12 o godzinie 22:19
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Wojciech Gardziński:
Zaraz, moment, ale tresura!
Szanowny, nie będziemy się tutaj tak tresować. Albo zadania stawiamy sobie poważne albo robimy sobie fidodido. Wymyślasz jakiś przestraszliwy program, a ja mam ho i go zrobić. Ten program wcale nie jest przestraszliwy w sensie trudności tej procedury, ale definicja, że hoho. Tu losuj, tam zamień, tu przykróć, tam wydłuż.
Program to już masz, to są dane do testów. Oczywiście test na autentycznym planie kont lub wzorcowym jest w porządku.
OK. Ale cóś za cóś. Poprosze o zrobienie mojego zadania Twoją metodą. Bo tak, że ja będę robił a ty nosem kręcił, to ja się nie bawię. Bo jak zabawa , to razem.
Rzeczywiście jedynym, czego tu nie dopełniłem to MySQL, a nie MSSQL. Szczerze mówiąc, chciałem porównać te dwie metody. I, ciutkę mnie samego ta prędkość zaskoczyła - pozytywnie.

Ja nie mam metody na 1000 zapytań jednostkowych, podważam jej sens i wiarygodność testu przedstawionego w filmiku.
Paweł B.:
Ale jak to się ma do demonstrowanej sprawności procedury na MS-SQL?
Procedury MS-SQL testujemy na MS-SQL.
Zapytanie "bw/1+bm/1+mw/1+mm/1+ow/1+om/1+sw/1+sm/1" nie ma sensu. Plan kont to nie liczby 1..4388
U mnie plan kont to nie liczby 1..x. Odczyty robiłem wg takich masek. Plan kont był żywej firmy.
ale "101-00-01", "101-01-01", "201-01-12345" itd. Zapytania mają mieć postać "sw/??.701.?.*<??.701.0.*>??.702.?.*<??.702.0.*>??.703.?.*"
Nie masz racji. Plan kont rzeczywiście tak wygląda, ale na czym się testuje, czy na takich, czy na innych cyferkach, znaczenia nie ma. Tu, powtarzam PK był normalny, tylko odczyty były "kolejne", bo tak najłatwiej się je robiło.

Nie ma być łatwo, tylko wiarygodnie. Bo to co zrobiłeś można by zrobić jednym prostym zapytaniem "select sum(bw)+sum(bm)+.... from tabela group by left(konto,1)"

Plan kont:
[0..9][1..3]-[00..30]-[0..5]
Ja takich masek nie stosuję. Kiedyś stosowałem, ale mnie księgowi oduczyli. "*" i "?" i są szczęśliwi. Ja wiem, że te [] informatycy uwielbiają, ale ja nie robię nic dla informatyków.

Zapytania:
Z planu wylosuj 1000 kont, dla każdego wylosuj prefix[bw,bm,sw,sm,ow,om] zamień losowo [0..4] cyfr na "?", każde "??" zamień na "*" wylosuj okres [01..06] (nie znalazłem składni obroty w miesiącu ale ponoć się da)
Jak nie ma, jak jest - "obroty miesięczne winien i ma" - "mw" i "mm" (patrz tabelka w artykule).
po prostu nie wiem jak wskazać z którego miesiąca te obroty
Z tego 1000 złóż 200 zapytań o długości 1..20

Obroty:
Wylosuj 3 zestawy po 1000 kont i umieść wraz z saldami i obrotami w 3 tabelach

Dlaczego to istotne? Bo odczyt kolejnych liczb naturalnych z serwera MySQL pod Frankfurtem to nie to samo co odczyt wg nieregularnych masek na stringach z lokalnego serwera MS-SQL.
Nieprawda. Prawdą jest tylko to że to MySQL daleko, a to MSSQL pod stołem. Odczyt, czy taka maska, czy inna - znaczenia nie ma.

Oj ma znaczenie. Wydajnościowe także. I to każdy księgowy wie :)
TU BYŁY WSZYSTKIE Z MASKAMI, więc trudniej już być nie może.

Więc co, czekam na wspólne testy, nie tylko wymagania i to, co chwila, rosnące.

P.S.
A, OK.
Rzeczywiście, to ja źle napisałem:
"zapytania do kont, będących kolejnymi liczbami naturalnymi"
powinno być: "będące".
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

No to i są wyniki.
Powalające nie są, ale są.

3000 zapytań, po 8 podzapytań w każdym (tak, jak w poprzednim teście), tylko, zgodnie z sugestią kolegi (chociaż tak średnio się z nią zgadzam, ale niech tam) zapytania są losowe, każde inne, np.
bw/?9?+om/351?08474+bw/80+om/6+mm/010+mw/7600802?+om/0812+sm/591604
sw/8+mm/?528661?6+mm/4679527754+sw/?0+mm/?0+bw/2836+sw/14*+bw/?95282
mm/?44+sm/1?9?0*+om/??3+mm/?23122+bw/810726876?+bw/7+ow/??815+sw/2*
bw/7147+bw/500+sw/?2?+sw/1796063+mm/89?672+sm/26?5+sm/050086548+sw/6519*
bw/65*+mw/*+om/8799632+mm/?+mm/095?8+sm/7689417+mw/603+mw/654?6?6617
sm/37?41+bw/63?99427+mw/770??8?558+bw/6+sw/411411+ow/9?0+mm/136?962?+sm/??531
sm/?39782+sm/8?+sw/?747??7818+bw/4+mw/460442175+sw/41?2?49+bw/2389+om/3
ow/06+sm/6?0135139+sw/?3+mw/1623+mw/719627422+mm/2563881+bw/73+sw/31178875
sw/?37?4*+mw/??7+bw/953181?83+sw/4?2482?1+bw/339+mm/590?758?3+sw/10?462?+ow/614??659
bw/0+bw/6+mw/09716149+om/29+mw/254?1690+sw/83+bw/??6?38+sm/04*
mm/3?8?82794+mm/3114?04189+ow/2+mm/5?82?+sm/?72636+mw/36?8+sm/3968?+bw/?1
bw/308151824+sw/4?5762598*+bw/938725693+ow/93001?9+ow/7?33182+bw/16368+sw/?36098545?+bw/6?797
mm/32656663+ow/474+mm/9982?7?53+sw/?160502+ow/3535054+mw/6250+ow/0+sm/3967075816
mw/00335?1+bw/091023+bw/7?59682+bw/?7657?42+bw/2?+ow/?859290+mw/271+sm/2048
sm/29196+ow/54756406+om/48+bw/1?1?21?+sm/8730?2953+sw/7+mw/858?77+bw/711??14
mw/829+bw/90+bw/3599+sm/30*+mm/664+bw/4107+mw/145+om/?80633551
mw/93757425+bw/?23102932+bw/05????8+sm/526?6+mw/34?7888?49+sm/599?050+bw/3943+bw/24
mm/8813037+ow/849238+bw/20?34+ow/5359267??+mw/3??2206936+mm/96+bw/107?19+ow/64?6090?4
mw/2336628+mm/3939511003+bw/3+om/40+mm/??15?152+om/?0277+sw/25?+mw/83?571?4

Makabra, no nie? Ale taka jest praktyka.

No i tak:
Bez wspomagania, czyli detal klasycznie: 5'41''=341s
Metodą z tytułu wątku: 175-208s, czyli, niech będzie, średnio: 192s
Czyli 24.000 operacji detalicznych na bazie w 192s, czyli 24.000/192 = 125 op./s. Też nieźle.

Przyspieszenie: 341 / 192 = 1,77 raza

MS SQLSE lokalny, parametry kompa jw., 3 daty-tabele po 4388 rekordów, po 1000 takich ło zapytań do każdej.

Czyli wysyłam z Excelka tabelę z 3000 zapytań, tam uruchamiam ową procedurę, która kursorem leci po wszystkich rekordach, oblicza wartość każdego zapytania, a potem, hurtem, zaś pobieram to wszystko do Excelka.
Jeżeli coś niejasne, to proszę na priv - tam zbiorę wyjaśnienia do kupki i je tu dopiszę - żebyśmy nie zaśmiecili i żeby to było strawne do czytania, ok?

Zastanawiałem się, jak to pokazać na filmiku i nie mam za bardzo pomysłu. Bo kazać czekać, aż skończy, to raczej niestrawne, a tu i tak wic polega na opisie środowiska. Cóż, proszę przyjąć na wiarę. Będę miał okazję, to pokażę na żywo ;).

Spodziewałem się większego przyspieszenia - tu Przemek ma rację - niewielkie ono. Bo ja to lubię przyspieszenia o rząd wielkości :(.

Ale ja tu widzę ową zaletę, że, jak będzie się toto uruchamiało jakimś triggerem, to serwer sobie może liczyć, a my możemy pracować w Excelku, bo zajętość Excelka w tej zabawie to razem 6 sekund - reszta serwer.

Przy takich testach jest jeszcze jeden zysk - wykryłem sobie kilka niedoróbek :)Wojciech Gardziński edytował(a) ten post dnia 22.03.12 o godzinie 22:34
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Brawo!
Jak już poruszyliśmy temat niedoróbek to bezpieczniej było by kursor na 2 polach posadzić
... FOR SELECT sqlText, RecNo FROM dbo.SqlExecTable...
... FETCH NEXT rows_cursor into @sqlTextFromrow, @zm...
-- SET @zm=1
... FETCH NEXT rows_cursor into @sqlTextFromrow, @zm...
-- SET @zm+=1

A sprawdzałeś co się stanie, jeśli 2 userów w tym samym czasie zapuści tą metodą 2 różne raporty do tej samej bazy?

I jeszcze tak z ciekawości: czy zapytanie bw/1?>?2 powinno zwrócić tę samą wartość co bw/1?+bw/?2
ale plan zapytania będzie zupełnie inny?
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Paweł B.:
Brawo!
Jak już poruszyliśmy temat niedoróbek to bezpieczniej było by kursor na 2 polach posadzić
... FOR SELECT sqlText, RecNo FROM dbo.SqlExecTable...
... FETCH NEXT rows_cursor into @sqlTextFromrow, @zm...
-- SET @zm=1
... FETCH NEXT rows_cursor into @sqlTextFromrow, @zm...
-- SET @zm+=1
Rozpocząłem właśnie znajomość z T-SQLem, a więc porady mile widziane.

A sprawdzałeś co się stanie, jeśli 2 userów w tym samym czasie zapuści tą metodą 2 różne raporty do tej samej bazy?
Nie sprawdzałem. Ale nie ma problemu, żeby moja procedurka miała argument i działała na różnych tabelach.

I jeszcze tak z ciekawości: czy zapytanie bw/1?>?2 powinno zwrócić tę samą wartość co bw/1?+bw/?2
ale plan zapytania będzie zupełnie inny?
To są w AFQL zapytania tożsame. Konto 12 zostanie zsumowane 2 razy.
Paweł B.

Paweł B. architekt baz danych
/ SQL Developer /BI
Developer

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

A jak wygląda bw/1?>?2 przetłumaczone na SQL?
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Paweł B.:
A jak wygląda bw/1?>?2 przetłumaczone na SQL?

=DANE("FK";"bw/1?>?2";"2011";"11")
SELECT SUM(pole) FROM (SELECT 1 AS nrw, +1*SUM(BW) AS pole FROM [zs201111] WHERE [AccNo] LIKE '1_' UNION SELECT 2 AS nrw, +1*SUM(BW) AS pole FROM [zs201111] WHERE [AccNo] LIKE '_2') AS MyAlias

Możesz to sprawdzić sam:
(Oczywiście koniecznym jest zainstalowanie AFINA)
1. Wpisujesz miarę ODBC, opartą na AFQLu
W normalnej instalce jest jedna taka miara przykładowa: Sample.Financials.1.DBF.B

2. Jako ostatni argument funkcji wpisujesz ":" (dwukropek)
np. =DANE("Sample.Financials.1.DBF.B";"sw/1";"2007";"08";":")
Otrzymujesz wartość:
s(:)Driver={Microsoft dBASE Driver (*.dbf)};DBQ=D:\AFIN\AFIN.NET\Samples\Data\ODBC\FK1dbf\2007;(:)SELECT SUM(pole) FROM (SELECT 1 AS nrw, +1*SUM(SW) AS pole FROM sta08 WHERE [KS] LIKE '1%') AS MyAlias

Argument "sw/1" zmieniasz do woli - sqlki tłumaczą się na bieżąco.
Zobacz to samo na mierze OLAPowej - tam jest dopiero jazda...Wojciech Gardziński edytował(a) ten post dnia 24.03.12 o godzinie 23:15
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Podsumowanie tematu:
Zrobiłem testy gotowej funkcjonalności na powyższych danych.
Test, identyczny, jak powyżej, z tym, że jeszcze dodatkowo doszła dystrybucja wartości po arkuszu.

Wynik:
Przyspieszenie dokładnie 3-krotne.

Ciąg dalszy (będzie) na wątku http://www.goldenline.pl/forum/2856442/afin-net-server...
Wojciech Gardziński

Wojciech Gardziński Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...

Temat: Czy można nadać serwerowi robotę według naszego przepisu?

Ale numer. Z nudów, poczytałem trochę starych tematów.
I, po dwóch latach:

1. Kaszanka biajowa pogłębiła się do tego stopnia, że BI już nie istnieje

2. Dalej Cognosy i inne biaje nie mają pojęcia o tym, CZYM SĄ ZAPYTANIA DETALICZNE - tym bardziej, czym jest ich optymalizacja, tym bardziej, czym jest ich optymalizacja na serwerze.

3. Dalej, w tych wszystkich biajach nikt nie ma pojęcia, JAK UŁATWIĆ użytkownikowi wpisywanie zapytań jego (użytkownika) rękami...

4. Proszę zauważyć, że wszystkie te funkcjonalności dajemy NA TACY. U Małomiękkiego to nawet byliśmy i pokazywaliśmy. Nie skumał.

Ludzie, co ja tu robię? Przecież efektywność mojej pracy jest równa ZERO. CO JA TU ROBIĘ?Ten post został edytowany przez Autora dnia 11.06.14 o godzinie 08:22



Wyślij zaproszenie do