Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja bazy
TakiJakis
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 7.11.2004

Ostrzeżenie: (40%)
XX---


Założmy, że mamy bazę danych, w niej tabelę posty. W tej tabeli komórki autor_id, data, treść itp... Założmy, że treść jest zwykle długa. Czy opłaca robić się osobną tabelę dla treści? Jeśli tak, to w jakich sytuacjach to się opłaci?

Np. na czym polega szukanie, np. "SELECT COUNT(*) FROM posty". Czy to pobiera wszystkie wartości (czyli im więcej tekstu w komórce treść, tym dłużej zapytanie będzie trwało)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sh4dow
post
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Po pierwsze jesli 1 pole z trescia jest przypisywane do jednego rekordu z postem to nie rozdzielamy tablicy. Jeżeli natomiast jedno pole z tresciu nalezy do wielu rekordow z postami lub wiele tresci nalezy do jednego rekordu to wtedy sie rozdziela tablice.

NIE ROBIMY
  1. SELECT COUNT(*) FROM tablica

duzo lepiej jest zrobic
  1. SELECT COUNT(id) FROM tablica

gdzie pole id jest indexem tablicy.

Do indeksowania pol textowych dla szybkiego wyszukiwania sluzy index FULLTEXT ktory zakłada sie na tablice naprzyklad z trescia tytulem.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 06:06