Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dodawanie zamówień do bazy optymalne rozwiązanie
sebacmp
post 14.05.2018, 07:22:28
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 30.11.2012

Ostrzeżenie: (0%)
-----


Witam

Mam zrobiony skrypt do dodawania zamówień. Mam w bazie około 100-150 produktów do zamówienia. Dziennie około 50 kientów złoży zamówienie czyli w tabeli 'ZAMOWIONE_PRODUKTY' będzie mi dochodziło około 500 rekordów dziennie. Mam pytanie odnośnie pracy tej tabeli z tak wieloma rekordami po roku czy będzie wydajna? Czy lepiej wrzucić te zamówione produkty do tablicy i przechowywać tablicę w bazie?
Go to the top of the page
+Quote Post
Pyton_000
post 14.05.2018, 08:02:14
Post #2





Grupa: Zarejestrowani
Postów: 7 380
Pomógł: 1305
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


tablica to najgorszy pomysł.

jak rozmiar tabeli dojdzie do powiedzmy 200GB to wtedy zaczynaj się zastanawiać czy jest co optymalizować. Na razie nie martwiłbym się o ilość danych i trzymał je jako rekordy osobne.
Go to the top of the page
+Quote Post
sebacmp
post 14.05.2018, 08:17:07
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 30.11.2012

Ostrzeżenie: (0%)
-----


super dziękuję za pomoc. Wpadłem jeszcze na pomysł że jezeli na koniec miesiąca z zamówienia zostanie wygenerowana faktura zamówienie może zostac usunięte z bazya przetrzymywac w jakiś sposób tylko faktury
Go to the top of the page
+Quote Post
Pyton_000
post 14.05.2018, 08:58:39
Post #4





Grupa: Zarejestrowani
Postów: 7 380
Pomógł: 1305
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


radziłbym nie usuwać. Może Ci się to przydać kiedyś. Danych o zamówieniu się przeważnie nie usuwa.

Rozwiązań jest kilka:

- Możesz ustawić mechanizm partycjonowania w MYSQL (to jest "wyższa szkoła jazdy"). Efekt będzie taki że dane będą dalej w 1 logicznej strukturze tabeli ale pod spodem dane będą podzielone na kawałki. W zależności od wielkości partycji (np. partycje po 6mc) jak będziesz chciał przeszukać dane z ost. miesiąca to mysql udeży tylko do tego kawałka bazy. Daje to duży wzrost wydajności przy dużych bazach.

Inny wariant to utworzenie tabel archive do którzej będziesz sobie cyklicznie przenosił dane, w ten sposób masz główną tabelę szybką, a archiwum możesz sobie nawet wyeksportować na inny serwer.
Go to the top of the page
+Quote Post
wxm
post 14.05.2018, 09:00:10
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 17.02.2018

Ostrzeżenie: (0%)
-----


Nic nie zyskasz usuwając zamówienia, jedynie stracisz historię i klienci też nie będą mieli wglądu do archiwum bo go nie będzie. Dane do generowanych faktur wyciągaj do osobnej tabeli żeby były niezależne od ewentualnych zmian na tabeli z produktami a historia zamówień niech sobie będzie. Te ilości danych o których piszesz to dla mysql-a żaden wysiłek smile.gif
Go to the top of the page
+Quote Post
sebacmp
post 18.05.2018, 17:26:15
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 30.11.2012

Ostrzeżenie: (0%)
-----


dziękuję wszystkim za podpowiedzi i pomoc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2018 - 03:30