ďťż
Podstrony
|
telcocafeCzy zastąpienie klucza podstawowego zwykłym w tabeli MyISAM (czyli domyślnym) w MySQL wpłynie znacznie na wydajność?Wprowadzam możliwość podziału artykułów na strony. W tym celu do tabeli artstxt (gdzie jest treść artykułów) dodałem pola: "page" i "topic". I tu zonk - nie można powtórzyć tej samej wartości w polu ID (klucz podstawowy), która zawiera ID artykułu. Można go zastąpić zwykłym indeksem albo wprowadzić ID dla każdej podstrony artykułu. po prostu daje zwykłe pole integer na ID macierzystego artykułu, pole integerowe określające kolejność podstrony i pole AUTOINCREMENT do identyfikowania podstron. Widocznych "ograniczeń" wydajności nie powinno być + zapytania dotyczące podstron nie będą wykonywane zbyt często ani nie będą skomplikowane. A wg. mnie dzielenie artykułu na podstrony słabo sprawdza się na stronach www. Głównie w kategorii przyjazności wyszukiwarkom - dochodzi dodatkowy poziom zagnieżdżenia treści, a im głębiej, tym gorzej. Zamiast podstron lepiej podzielić artykuł na kilka mniejszych i dodać je jako serię :) Ja bym to rozbił na dwie tabelę, inaczej będzie trzeba przechowywać za dużo danych: articles: article_id, title, author, added, visible, ... article_pages: page_id, article_id, content Uzyskałem na pewnym czacie poradę, by zastosować złożony podstawowy klucz. Czy to dobre i wydajne rozwiązanie? Czy to obsługuje SQLite (gdybym kiedyś miał zamiar dodać jego obsługę)? PS. Mam 2 tabele. Nie chcę jednak ograniczać tworzenia ilości stron (bo dla dłuższych artykułów to się może jednak przydać). Ostrzegę, że to nie jest zbyt przyjazne robotom. :) Wybrałem jednak złożony klucz podstawowy. Użytkownik Ferrari edytował ten post 30 kwiecień 2007, 18:25 nie kombinuj tylko koduj. W przypadku obsługi wielu baz danych i tak zapewne czeka cię pisanie każdego zapytania dla każdego typu bazy danych, chyba że zastosujesz ORM. Im prostsze rozwiązania tym lepsze bo mniej elementów, które mogą zadziałać nie tak jak trzeba. Zrób dwie tabele i spokój ;) pierwsza na dane o artykule, druga na strony artykułów. |
|||
Sitedesign by AltusUmbrae. |