rafalp
2.03.2010, 12:11:27
Normalnie miałbym tabele NEWS z dodatkową kolumną określającą grupę userów (typ = admin lub user lub redaktor) który dodają artukuły czy cokolwiek innego.
Czy rozdzielenie takich kategorii na 3 osobne tabele (news_admin, news_user, news_redaktor) z taką samą strukturą pól będzie wydajniejsze dla zakładanej ilośći dodawanych rekordów (user - b dużo, redaktor - dużo, admin - mało), uwzględniając to, że typ wyszukiwania (admin,user,redaktor) opublikowanych, szukanych newsów będzie często brany pod uwagę przy prezentacji wyników?
Chodzi o to że normalnie zawsze musiał bym w kwerendzie używać np. "AND typ='user'" a mając 3 osobne tabele od razu daje do zapytania tą nazwę tabeli "SELECT * FROM news_user".
pozdrawiam, mam nadzieję że wywiąże się ciekawa dyskusja;)
nospor
2.03.2010, 12:14:33
jedna tabela i niech ci nie przyjdzie do głowy zrobienie z pola TYP pola tekstowego. Ma to byc tinyint lub enum. DOdatkowo załozony index na to pole
phpion
2.03.2010, 13:22:01
Tak jak pisze ~nospor, a jeśli zależy Ci na:
Cytat(rafalp @ 2.03.2010, 12:11:27 )

od razu daje do zapytania tą nazwę tabeli "SELECT * FROM news_user"
to przecież możesz sobie utworzyć odpowiedni
widok.
nospor
2.03.2010, 13:30:06
@phpion po Twojej wypowiedzi zwróciłem uwagę na zdanie, które normalnie przeszlo mi koło nosa:
Cytat
Chodzi o to że normalnie zawsze musiał bym w kwerendzie używać np. "AND typ='user'" a mając 3 osobne tabele od razu daje do zapytania tą nazwę tabeli "SELECT * FROM news_user".
@rafalp masz racje, przeciez to takie straszne dopisac AND type='user'
rafalp
2.03.2010, 13:39:07
Przecież chodziło mi o odciążenie bazy a nie o to że mi się nie chce rozszerzyć trochę zapytania:)
nospor
2.03.2010, 13:44:47
no ale tamto zdanie zabrzmiało dwuznacznie