![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 9.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam,
chce stworzyc duzy sklep dla duzej ilosci uzytkownikow i zastanawiam sie czy lepiej jest trzymac wszystkie produkty uzytkownikow w jednej tabeli czy dla kazdego usera stworzyc inna tabele ? czy znacie jakies stronki z testami wydajnosci bazy mysql ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A ile przewidujesz tych rekordow?
W kazdym bądź razie tworzenie oddzielnej tabeli dla kazdego usera nie jest dobrym pomyslem. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 9.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
tego moze byc troche, dla kazdego usera bedzie z 10 tabel, userow od 10 do .... moze nawet 100 wiec jak
nazwe kazdej z nich rozpoczne od nr ID no to mysle ze nie powinno byc burdelu, zreszta nie bede ich raczej chcial wszystkich razem ogladac tylko te danego usera a z kolei nie wiem jak mysql sie zachowa, czy latwiej mu bedzie (jak sadze, bo to raczej logiczne) przeszukiwac tylko 1 konkretna tabele czy wszystko mu jedno i z duza tez sobie poradzi Ten post edytował zuraw84 1.08.2006, 13:38:18 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Moje zdanie jest takie:
Nie ma sensu trzymania takich samych danych (różniących się tylko jednym polem - ID_user) w różnych tabelach. Dodając nowego użytkownika będziesz tworzył specjalnie dodatkową tabelę? Kasując użytkownika będziesz kasował tabelę? MySQL na prawdę powinno sobie poradzić z dużą ilością danych, no chyba, że dane bedziesz miał liczone w dziesiątkach milijonów ![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Nawet jak bys mial kilka milionow w 1 tabeli to i tak to nie bedzie taki narzut czasowy, wszystko zalezy jak indexy zalozysz i jak umiejetnie zapiszesz zapytania.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie mowiac juz o tym ze jak stworzysz osobne tabele dla poszczegolnych uzytkownikow to wszelkiego rodzaju statystyki badz zestawienia produktow nie wedlug wlasciciela, ale wedlug np typu bedzi sie bardzo trudno robilo. O efektywnosci nie wspomne.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 9.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie porownywac nie bede miedzy uzytkownikami,
a znacie moze jakies stronki z testami wydajnosci mysql ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Cytat nie porownywac nie bede miedzy uzytkownikami Nigdy nie mów nigdy, może kiedyś będziesz musiał, tak jak mówi szanowny kolega bigZbig, robić statystyki na podstawie danych porozrzucanych po różnych tabelach. Nawet jeśli nie będziesz musiał tego robić i tak wygodniej jest trzymać podobne dane w jednej i tej samej tabeli. Cytat a znacie moze jakies stronki z testami wydajnosci mysql ![]() Google Twoim przyjacielem: Google::test wydajności MySQL wydajność MySQL Google::performance MySQL -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 1 Dołączył: 19.02.2004 Ostrzeżenie: (10%) ![]() ![]() |
Pomyśl jeszcze o jednej sprawie. Jak będziesz miał już tych 1000 użytkowników, a co za tym idzie 1000 tabel dotyczących tych użytkowników i będziesz musiał dodać jedną kolumnę do tabel użytkowników ( bo przecież z własnego doświadczenia kazdy programista powie, że nie da się wszystkiego przewidzieć ) to za bardzo nie widzę aktualizacji tych 1000 tabel. No oczywiście można napisać skrypt, który to za Ciebie wykona, ale jest to moim zdaniem fuszera i nie ma to nic wspólnego ze sztuką tworzenia relacyjnych baz danych.
I jeszcze jedna sprawa każde zapytanie w swojej aplikacji korzystające z tych tabel będziesz musiał poprzedzać prefixem Id uzytkownika, dla mnie osobiście to by było za bardzo upierdliwe. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 9.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
I jeszcze jedna sprawa każde zapytanie w swojej aplikacji korzystające z tych tabel będziesz musiał poprzedzać prefixem Id uzytkownika, dla mnie osobiście to by było za bardzo upierdliwe. no ok, bylo by troche upierdliwe ale bez przesady, główny problem polega na tym, że przy każdym zapytaniu mysql musi przelecieć całą tabelę, a tak (przy kilku) tylko jedną, małą ale skoro mówicie, że mysql powinien sobie poradzić to ok ..... robimy na jednej ..... zobaczymy co z tego wyjdzie ![]() Ten post edytował zuraw84 3.08.2006, 11:48:47 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat główny problem polega na tym, że przy każdym zapytaniu mysql musi przelecieć całą tabelę, a tak (przy kilku) tylko jedną, małą ale skoro mówicie, że mysql powinien Nie zawsze jest przeszukiwana cala tabela, wszystko zalezy od indeksow zapytan itd. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:04 |