adam882
15.11.2011, 12:39:37
Witam
Mam stronę internetową, gdzie dodawane są artykuły.
Tabela:
id (int) | nazwa (varchar) | tresc (text) | data (int)
W kategoriach wyświetlam nazwę i skróconą treść artykułu. Trochę wydaje mi się to nieoptymalne, gdyż za każdym razem pobieram całe pole "tresc" i wyświetlam skróconą wersję w wynikach.
Czy może lepszym rozwiązaniem byłoby stworzenie takich dwóch tabel? :
Tabela1:
id (int) | tresc_pelna (text) | data (int)
Tabela2
id (int) | parentid (int) | nazwa (varchar) | tresc_skrocona (text) | data (int)
Tutaj pobieranie w kategoriach, jak i wyszukiwanie (tylko w samym polu "nazwa", bo nie chce szukania w "tresc_pelna") byłoby na pewno szybsze. Zakładam, że dodając artykuł wykonywane byłyby wtedy dwa zapytania, ale zastanawiam się, czy warto zrobić tak, że przy dodawaniu w jednym zapytaniu wpisywana jest pełna treść tego samego artykułu, a w drugim - ten sam artykuł skrócony np. do 200 znaków. Czy warto coś takiego zrobić? Minusem będzie na pewno większy rozmiar bazy.
nospor
15.11.2011, 12:43:56
Jakim cudem przyszła ci do głowy ta druga tabela?
Zrozumiałbym, że chciałbyś dodać kolejne pole na skróconą treśc, ale nie tabele.
To po pierwsze.
A po drugie:
ale wiesz, że z bazy można pobrać tylko część tekstu a nie cały tekst? np. przy pomocy funkcji LEFT ?
adam882
15.11.2011, 13:40:06
sądziłem, że można pobrać z bazy skróconą treść, ale nie używałem tego. W takim razie tak bym to widział tak:
a) Rozwiązanie pierwsze:
id (int) | nazwa (varchar) | tresc (text) | data (int) [i i przy pomocy LEFT pobiera tylko część pola "tresc"]
b ) Rozwiązanie drugie:
id (int) | nazwa (varchar) | tresc_skrocona (varchar) | tresc_pelna (text) | data (int) [gdzie tresc_skrocona to jakieś 200 znaków z tresc_pelna]
Które lepsze?
nospor
15.11.2011, 13:43:10
Jak dla mnie to wersja a) jest lepsza. Nie trzymasz bez sensu dodatkowych danych. Jeśli więc, zwykłe obcinanie tekstu do 200 znaków będzię cię satysfakcjonowało, to wersja a) jest moim zdaniem lepsza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.