| zhornik
(433/31/1541) Wozławki \ Poznań
 WYŚLIJ PW
|
2008-10-13 / 19:26
Od teraz wśród najnowszych wpisów na stronie głównej nie będą się pojawiały te z działu Pogaduchy.
Ze względu na skomplikowanie algorytmu który wybierał by 15 wpisów z poza Pogaduch, na chwilę obecną wybieranych jest 20 wpisów z czego odrzucane są pogadanki.
Także teoretycznie w tabeli może być pusto a może też być 20 cytatów.
|
| lancaster
(18702/397/1541)
 WYŚLIJ PW
|
2008-10-13 / 19:54
No i bardzo dobrze.
'Wiadomo, ze taki a taki pomysl jest nie
do zrealizowania. Ale zyje sobie jakis
nieuk, ktory o tym nie wie. I on wlasnie
dokonuje tego wynalazku.'
|
| cocor2007
(1597/16/1541)
 WYŚLIJ PW
|
2008-10-13 / 20:14
OK, ale po wejciu w Pogaduchy ostatnie wpisy z tej zakładki powinny juz być widoczne. Jeli za dużo wymagam, to przepraszam :)
|
| Cornholio
(1115/21/1335)
 WYŚLIJ PW
|
2008-10-13 / 23:56
bardzo dziwne... widzę trzy wpisy.
a nie można po prostu zrobić select top 20 where iddzial not in (idpogaduchy) order by date? ;)
|
| Cornholio
(1115/21/1335)
 WYŚLIJ PW
|
2008-10-14 / 01:32
Teraz aż prosi się o listę ostatnich wpisów per dział.
|
| zhornik
(433/31/1541) Wozławki \ Poznań
 WYŚLIJ PW
|
2008-10-14 / 08:07
>> Cornholio, 2008-10-13 23:56:58
>bardzo dziwne... widzę trzy wpisy.
>a nie można po prostu zrobić select top 20 where iddzial not in (idpogaduchy) order by date? ;)
Problem jest tego typu że są oddzielne tabele z listą tematów i z wpisami (temat należy do kategorii, post należy do tematu). Także czy post jest z bocznicy mogę sprawdzić dopiero po jego wybraniu i wysłaniu zapytania do tabeli z tematami.
Może w wolnej chwili przysiądę i wypracuję jakieś sensowne rozwiązanie. Trzeba to tak rozwiązać żeby nie było zbyt wielu zapytań do bazy.
|
| Cornholio
(1115/21/1335)
 WYŚLIJ PW
|
2008-10-15 / 18:12
>Także czy post jest z bocznicy mogę sprawdzić dopiero po jego wybraniu i wysłaniu zapytania do tabeli z tematami.
nie wątpię - tylko co to za problem? - ale przecież są złączenia ;)
select xxx from wpis inner join temat on wpis.idtemat = temat.id where temat.iddzial <> pogaduchy
|
| zhornik
(433/31/1541) Wozławki \ Poznań
 WYŚLIJ PW
|
2008-10-15 / 18:16
O czegoś takiego nie znałem. Dzięki, w weekend zastosuję zapytanie tego typu.
|
| aasat
(2000/18/1521) Kraków
 WYŚLIJ PW
|
2008-10-15 / 19:53
>> zhornik, 2008-10-15 18:16:12
O czegoś takiego nie znałem. Dzięki, w weekend zastosuję zapytanie tego typu.
inner join to jest przeciez normalne (najprostsze) złaczenie dwoch tabel, słowo "inner" jest opcjonalne
To forum jest napisane bez ani jednego takiego zapytania z uzyciem join? nie wierze
|
| zhornik
(433/31/1541) Wozławki \ Poznań
 WYŚLIJ PW
|
2008-10-15 / 19:59
W tej chwili pierwszy raz pojawiła się potrzeba takiego zapytania ;-)
|
| aasat
(2000/18/1521) Kraków
 WYŚLIJ PW
|
2008-10-15 / 20:07
>> zhornik, 2008-10-15 19:59:19
Warto korzystać z dobrodziejstwa jakie daje dany silnik baz danych, przy małych ilościach danych nie zwracamy na to uwagi, ważne aby dane poprawnie wyświetlały się na stronie, a nie zwracamy uwagi na wydajność i poprawność zapytań sql. Wraz ze wzrostem danych wydajność może spadać drastycznie, dlatego warto badać czy zapytania są wydajne odpowiednimi narzedziami np: poleceniem explain,
np stosowanie joinów jest duzo wydajniejsze od operatora IN, takich zasad jest dziesiątki.
|
| aasat
(2000/18/1521) Kraków
 WYŚLIJ PW
|
2008-10-15 / 20:09
poprawka do "stosowanie joinów jest duzo wydajniejsze od operatora IN,"
w wiekszosci przypadków oczywiscie :)
|