![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 26.09.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam mam takie tabelę:
i tabelę z komentarzami i tu zaczyna się moje pytanie czy jeżeli chciałbym zaprojektować tabelę z komentarzami to proponujecie stworzyć 3 tabele komentarzy dla każdej tabeli(np comments_article, comments_smallarticle, comments_galery) czy może jedną z polem np source_parent(gdzie 1 będzie oznaczało komentarz dla article, 2 dla small_article itp) czy może w jakiś inny sposób to powiązać ze sobą? Są to początki mojego CMS'a i chciałbym żeby rozwiązanie to było jak najoptymalniejsze i najszybsze z możliwych. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tabela jedna z komentarzami:
id, autor/autor_id, tytuł, treść, source_id, type_id Odpowiednimi joinami połączysz -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 26.09.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
I to będzie najoptymalniejsze rozwiązanie rozumiem że w type_id będzie trzymana jakaś wartośc określająca czy to article czy coś innego np 1,2,3? i mam jeszcze jedno pytanie? co jest lepsze trzymanie nazwy użytkownika jako author czy czy jego ID?
Ten post edytował vermer 16.07.2011, 22:48:18 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
rozumiem że w type_id będzie trzymana jakaś wartośc określająca czy to article czy coś innego np 1,2,3? Bardzo dobrze rozumiesz. co jest lepsze trzymanie nazwy użytkownika jako author czy czy jego ID? Author podałem bo nie wiem czy ma być opcja komentarza przez osoby zarejestrowane czy nie. Jeżeli chodzi o użytkowników serwisu (ma konto, może pisać) to oczywiście, że ID - nie będziesz miał nadmiarowych danych. Wolisz trzymać: 3 czy "Andrzej Prostacki z Kędzierzyna" ? I tak powiedzmy 100x ? Ja osobiście wolałbym trzymać mniej danych. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 26.09.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem czyli jednym słowem gdzie możemy ograniczamy dane w tabelach i trzymamy tam pola ID myślałem po prostu że mając np bazę wszystkich ludzi na ziemi zapytanie z nazwą wykonywać się będzie szybciej niż to z id bo tylko jedna tabela do przeszukania nie dwie?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zobacz ile masz nadmiarowych danych. Poza tym jeżeli o wydajność chodzi, to masz indeksy i cache.
![]() A tak w temacie, zapomniałem o czasie napisania komentarza, dodaj pole datetime czy jakie tam chcesz. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 26.09.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
tak tak wiem wiem zawsze mam pola typu feed_time mod_time last_mod_time itp ale mam inne pytanie jeszcze jak mamy tytuł w tej tabeli albo nazwę użytkownika drugiej czy email wielką różnicę będzie robiło iż pola są powiedzmy typu VARCHAR(255) niż VARCHAR(45) znaczy jeżeli chodzi o szybkość działania bazy bo nie wiem ile dać znaków na poszczególne pola?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tak jest różnica, bo takie pole zajmie mniej miejsca.
http://dev.mysql.com/doc/refman/5.0/en/char.html Masz tam porównanie w tabelce dla char i varchar -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:23 |