![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 42 Dołączył: 27.07.2010 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Witam, ja się chciałem zapytać czy to jest dobry pomysł z kategoriami newsów najpierw dam tabele:
Nazwy kategorii, id , typ
W tej tabeli mam newsy:
`kategoria_id` int(11) NOT NULL, - id kategorii. Myślałem sobie zrobić tak żeby była możliwość, kilku kategorii dla jednego newsa, więc zastosowałbym funkcje explode. A przykładowy rekord z kategoria_id wyglądałby tak: Kod 5,7,3 Potem funkcją bym to ładnie podzielił do tabeli, następnie wyszukałbym w bazie nazwy kategorii, po id. Czy to jest doby pomysł? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Łamiesz tym zasadę atomowości.
Powinieneś tutaj zastosować relację wiele do wielu (czyli zrobić tabelę pośrednią "id_news,id_kategoria"). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 42 Dołączył: 27.07.2010 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak jak mówicie, zrobiłem sobie tabele:
Co tutaj można by było z optymalizować?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie wyświetlaj od razu newsów tylko zapisz je wszystkie do tablicy najpierw.
Czyli przerób pętle z #6 linijki na mniej więcej taki zarys;
Po co? Bo wyświetlając 15 newsów na stronę powielasz 15x zapytanie z linijki 18 a można to zrobić mniej więcej tak:
co można jeszcze zoptymalizować? zapytanie z #13 linjki. otwórz w tabeli newsów kolumnę "liczba_komentarzy" i gdy ktoś doda nowy komentarz to rób zwykłe UPDATE +1 (aby liczba się zwiększała); oczywiście przy usuwaniu komentarzy to -1 :-) i wtedy te zapytanie z #13 kompletnie to wyrzucenia. // pisałem z palca, nie analizowałem kolumn z Twojej bazy. Ten post edytował wujek2009 7.04.2012, 16:23:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 42 Dołączył: 27.07.2010 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Wiesz co, patrz całość wygląda tak:
Zapytanie z tymi komentarzami przerobiłbym tak:
(kategorie podobnie) Według mnie to jest bezsensu z tym liczba_komentarzy. To co dałeś wyżej to też jest trochę bez sensu.... Ten post edytował xxdrago 7.04.2012, 16:35:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:59 |