phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
[OffTopic] Dodatkowe pola w bazie - wybór tabeli i obciążeni
Autor Wiadomość
tymek


Posty: 433
Wysłany: 10-02-2011, 16:39   [OffTopic] Dodatkowe pola w bazie - wybór tabeli i obciążeni

Witam!

Chciałbym sprawdzić swoją hipotezę ;>

Ostatnio zlecałem napisanie moda, który dodaje dodatkowy opis tematów - było cośpodobnego na forum i polega to też mniej więcej na tym samym, z tym, że pola będą troche bardziej rozbudowane. W każdym polu z osobna będą znajdować się takie dane jak np. opis, linki, i krótkie opisy jak alternatywny tytuł, gatunki, itd.

1. Teraz moje pytanko.
Aktualnie mam dodane te dodatkowe pola w tabeli post_text. Moje pytanko brzmi, czy wydajniej (szybsze generowanie strony / mniejsze obciążenie serwa) byłoby umieścić te dodatkowe pola w tabeli topics? Dodatkowe pola są tylko dla pierwszego postu danego tematu, więc reszta postów z nich korzystać nie będzie, ale jako, że pola są dodane w tabeli post_text, to każdy post z osobna ma dodatkowe pole.

2. Jeśli chodzi o szukajkę, to wydajniej napewno byłoby umieścić pola w tabeli topics, bo jesli szukajka ma przeszukiwac bazę np. wg pola gatunek, wtedy, gdy dodatkowe pola znajdują się w tabeli post_text (110k postów / wpisów) przeszukiwanie będzie trwało dłużej niż jakby szukajka miałą przeszukiwać tylko tabelę topics (7k tematów / wpisów). Mam rację?


3. A jak to wygląda jeśli chodzi o wyświetlanie strony viewtopic?
Czy to, jeśli dodatkowe pola znajdowałyby się w post_text, czy w topics, miałoby jakiś wpływ? Przypomnę, że te dodatkowe pola są jedynie wykorzystywane do opisu tematu / pierwszego posta.
-->>
Wezmy jeszcze raz te dwie tabele pod uwagę, post text (w ktorej obecnie mam dodatkowe pola) i topics.
Czy przy samym wyświetlaniu tych dodatkowych danych z dodatkowych pol (przy któych tylko pierwszy post ma wypełnione te dodatkowe pola, a reszta postów - puste pole), np w viewtopic, czas generowania strony różniłby się, jesli te pola nie byłyby w post text, tylko w topics? ;>


Mógłby mi ktoś na te pytanka odpowiedzieć, albo ewentualnie to opisać i coś doradzić? ;>
_________________
Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW.
 
     
Gadatliwa Kasia 

   
kevin_


Posty: 2680
Wysłany: 10-02-2011, 17:57   

Ad1: Twoje rozwiązanie byłoby OK. Zamiast dane pchać do phpbb_posts_text to umieścić je w phpbb_topics. W tej chwili Twoja tabela posts_text będzie ciup więcej ważyć, bo dla każdego postu w temacie będzie ona przypierała standardową wartość (np. " " (pusto)) - zależy jak kolumna jest zaprojektowana. A tak to wiadomo, nie każdy temat będzie miał wypełnione pola - OK, ale lepiej jeden temat niż np. 30 postów z kolumnami dla danego tematu. Do zapytania SQL dopisać regułkę aby pobierało te "dodatkowe" kolumny tylko dla określonych działów (bo zakładam, że wszędzie nie są wymagane) - w skrócie: pobierać to co jest nam potrzebne, a nie stosować * (np. select * from phpbb_topics). UPDATE: Bądź nawet utworzyć nową tabele i tam "ładować" dane z gatunkami, tabela mniej więcej o strukturze:

id_tematu | pole_1 | pole_2 | pole_3 |


Ad2: Mniej rekordów, szybsze szukanie. Dla polepszenia wydajności polecam poczytać o INDEX (mysql), bądź FULLTEXT (mysql, tabela: MyISAM). Choć zawszę możesz pobawić się w testowanie co będzie szybszym rozwiązaniem - w phpMyAdminie masz czas w jakim dane zapytanie się wykonało. Więc na przykład w common.php odblokuj $show_queries na "1" - na dole forum wyświetlą Ci się wykonywane zapytania. Skopiuj jedno z zapytań, wklej do phpMyAdmina i odczytaj tekst. Jeśli czas jest za duży, to musisz zadbać o lepsze rozwiązanie.

Drugim rozwiązaniem jakie polecam, to modyfikacja pliku db/$dbms (config.php, zmienna - zależy jakiej klasy używasz) i dodanie czasu w jakim wykonują się zapytnaia. Ostatnio pisałem moda artykułów, i wykonałem właśnie coś takiego, fajna sprawka. Do wykonania tego zainteresuj się php microtime

Nazwa twojego forum -- System artykułów_1297344358607.png
Plik ściągnięto 41 raz(y) 22,54 KB

_________________
Prezes :mrgreen:
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,06 sekundy. Zapytań do SQL: 13
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę