pracz
7.01.2011, 22:09:37
Witam!!!
Raczkuje w tematyce MySQL i mam pytanie.
Otoz mam tabele z nastepujacymi kolumnami: id_nr , username, ....., ......, birthday, age. Wszystkie dane (poza age ) sa wprowadzane z formularza (funkcjonuje ). Pole age bedzie wyliczalo PHP i tutaj moj problem. Czy mozna w jakis sposob zaprogramowac kolumne age (wiek) aby automatycznie aktualizowala wiek w dniu urodzin (birthday ) uzytkownika? Jesli nie to czy daloby rade w php? Z gory dziekuje za pomoc.
nospor
7.01.2011, 22:11:41
Ale po co? Masz kolumnę z datą urodzin i tyle ci starczyc powinno. Po co ci jeszcze kolumna wiek?
pracz
7.01.2011, 22:20:24
Obawiam sie ze przy wyszukiwaniu userow o okreslonym wieku (a bedzie wiele tych zapytan ) zbyt obciaze serwer. W koncu przy kazdym zapytaniu trzeba wyliczyc wiek usera.
Mephistofeles
7.01.2011, 22:44:48
To oblicz dopuszczalną datę urodzenia i w zapytaniu daj datę a nie wiek.
pracz
7.01.2011, 22:56:37
Cytat(Mephistofeles @ 7.01.2011, 22:44:48 )

To oblicz dopuszczalną datę urodzenia i w zapytaniu daj datę a nie wiek.
No ciekawy pomysl. Nie zastanawialem sie nad tym. Dzieki!!! A co inni na to?
vermis
7.01.2011, 23:31:53
Cytat(pracz @ 7.01.2011, 22:20:24 )

Obawiam sie ze przy wyszukiwaniu userow o okreslonym wieku (a bedzie wiele tych zapytan ) zbyt obciaze serwer. W koncu przy kazdym zapytaniu trzeba wyliczyc wiek usera.
Taka operacja raczej nie powinna znacząco wpłynąć na wydajność. Obawiam się, że szukasz oszczędności nie tam gdzie trzeba, jeśli będziesz miał z tym problemy to wtedy zajmiesz się optymalizacją. Co do pomysłu ze wstawieniem daty, to pewnie serwer zrobi to podobnie, chociaż mogę się mylić
pracz
7.01.2011, 23:41:21
Cytat(vermis @ 7.01.2011, 23:31:53 )

Taka operacja raczej nie powinna znacząco wpłynąć na wydajność. Obawiam się, że szukasz oszczędności nie tam gdzie trzeba, jeśli będziesz miał z tym problemy to wtedy zajmiesz się optymalizacją. Co do pomysłu ze wstawieniem daty, to pewnie serwer zrobi to podobnie, chociaż mogę się mylić

Nawet jesli w bazie jest powiedzmy milion userow i co sekunda wykonywane jest zapytanie? Mimo wszystko uzycie kolumny age wydaje mi sie najoptymalniejszym rozwiazaniem bo chyba latwiej jest takie zapytanie wykonac raz na 24 godziny anizeli przy kazdym zapytaniu.Aczkolwiek tez moge sie mylic.
kalmaceta
8.01.2011, 11:51:10
zrób testy, bo ze szklanej kuli wyniki nie zawsze dobre. Zdaniem większości "optymalizatorów" po kolumnie wiek wyszuka szybciej bo data ma więcej znaków, heh.
pracz
26.01.2011, 17:13:40
No ok dzieki. Ale wracajac do pytania. Da sie takie wyliczenie w jakis sposob zautomatyzowac w MySQL lub PHP??
Witajcie!
Troche pokombinowalem i mam nastepujacy kod:
select age,birthday,curdate() ,(year(curdate())-year(birthday))-(right(curdate(),5)<right(birthday,5)) as age2 from utest;
to juz zmierza w zadanym kierunku ale...
jak zapisac wyniki z kolumny age2 (temp) do kolumny age?
Apropos automatyzacji da sie to jako event zaprogramowac?
Bede wdzieczny za kazda pomoc!!!
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.