Baza danych - powod sortowania danych

boboo

Avatar: boboo

2011-08-01 06:39

Do twórców QC:
czy jest jakiś powód, dla którego np. baza zamówień (orders.php) jest zapisywana i trzymana w numerycznym porządku, a baza produktów i stron już nie?
(bardziej chodzi mi o powód 'bezładu' w _products i _pages.php)

» Quick.Cart v4.x

it-service.kimla.de

treewood (OpenSolution)

Avatar: treewood

2011-08-01 16:20

boboo - to wszystko ma jakis sens i lad ale trzeba wiedziec czemu :). orders.php sa zapisane wg id od najwiekszego do najmniejszego dlatego, ze w ten sposob sie wyswietla lista w administracji. Natomiast produkty i strony wyswietlaja sie wg pozycji a pozniej nazwy.

Dlatego tez by skrypt dzialal szybciej w trakcie zapisywania danych dany plik jest sortowany po to by zyskac na czasie w trakcie wyswietlania listy. Oczywiscie to jest troche zrobione na wyrost bo skrypt wiele nie zyska na czasie jesli by mial sortowac za kazdym razem liste w czasie wyswietlania w przypadku gdy w liscie jest 200 produktow ...
No ale tak to juz zaprojektowalismy

boboo

Avatar: boboo

2011-08-01 21:23

dlaczego pytałem - ot nie z niewiedzy, ale wczoraj bawiłem się we flagi przy adresach IP. taka baza krajów przypisanych do adresów ma 120.000 linijek i waży 5 MB. wziąłem kopię funkcji throwData i... nawet 5 minut było zbyt mało dla lokalnego apacza. nie tędy droga, a flagi ładnie wyglądają. kawusia, fajka, balkon i burza mózgownicy. no i zrobiłem sobie algorytm (nawet w stylu OpenSolution ;-) z szykanami '$aExp=explode('$...), który wyrzuca mi kraj (flagę) po maksymalnie 17 krokach pętli i czasu rzędu 0,1 sekundy. wtedy pomyślałem o zaleceniach w waszej dokumentacji dotyczących ilości produktów (~1.000 w porywach 5.000). o ile orders_db jest w porządku (bo po kolei), to w produktach możnaby grzebać tym algorytmem, tylko jeśli products_db też byłby 'po kolei'. a wtedy hulaj dusza, piekła nie ma i możnaby mieć ilość i szybkość sql'a na płaskich plikach.
pobawię się tym niedługo, wyrzucę 'desorting' z saveProducts (save tylko w trybie append) i 'podrasuję' throwData i zobaczę.
http://www.kimla.de/bilder/opensolution/qc_admin_users_flagi.jpg

it-service.kimla.de

Do góry
o nas | kontakt