![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czy baza danych MySQL ma jakieś ograniczenie, co do ilości rekordów w jednej bazie?
Czy przy dużej ilości rekordów sięgającej liczby 1000, 10000, 100000 a może nawet 1000000 wpisów, może nastąpić jakieś spowolnienie w działaniu, tzn w wyszukiwaniu konkretnych rekordów, które byłoby odczuwalne? -------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Wszystko zależy od tego co będzie się znajdowało w takiej tabeli, w jaki sposób będziesz szukał, czy zapytania będą zoptymalizowane oraz czy założono odpowiednie indeksy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Indeksy w MySQL wysypują się po jakimś czasie, ale na pewno nie jest to 1M rekordów
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Muszę umieścić ip każdego użytkownika który odwiedzi moją stronę i z wpisem do tabeli w postaci tablicy array(), w której będą znajdowały się liczby do 1 do ok kilku tysięcy. Zapytania mają być porostu na podstawie ip użytkownika.
-------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Upychanie zserializowanej tablicy do bazy danych najczęściej nie jest dobrym rozwiązaniem. Po to ktoś wymyślił relacyjne bazy danych, żebyśmy mogli korzystać z ich dobrodziejstw
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tworze stronę edukacyjną, gdzie ma być ok kilka tysięcy obrazków, z czego skrypt ma wyświetlać zawsze 3 obrazki losowo i każde odświeżenie strony ma wyświetlić inne losowo wybrane obrazki.
Problem pojawił się, gdy stwierdziłem, że dobrze będzie, gdy unikatowy użytkownik, będzie mógł zaznaczyć których obrazków nie chce już nigdy więcej oglądać i te obrazki mają się już nie pojawiać. Dlatego poszperałem w necie nad poszukiwaniem najlepszej metody i stwierdziłem, że wpis z IP użytkownika oraz unikatowa tablica Array w bazie danych, z numerami "niechcianych obrazków" była by dobrym rozwiązaniem, a przynajmniej jedynym jakie mi przychodzi do głowy. Tak więc czy takie coś mogłoby źle funkcjonować? A może jakiś pomysł na lepszą metodę? -------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił tak jak poniżej. "odrzucony_obrazek" to tabelka z 3 kolumnami: id, obrazek_id, ip. Każdy rekord to jeden odrzucony przez danego użytkownika obrazek. Dzięki temu wszystkie operacje będą łatwiejsze - dodanie obrazka (1 prosty insert), pobranie listy dostępnych obrazków (1 zwykły select) czy usunięcie jakiegoś obrazka z listy ignorowanych (1 delete).
Moim zdaniem takie podejście jest lepsze, prostsze w implementacji i łatwiejsze w dalszej rozbudowie (np. każdy obrazek jest ignorowany tylko przez tydzień).
[edit] Żeby trochę zoptymalizować, możesz IP zamienić na postać decymalną (ip2long) i założyć indeks na kolumnę "ip" w tabelce "odrzucony_obrazek". Ten post edytował sowiq 17.12.2013, 14:24:15 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czy dobrze zrozumiałem? Te skrypt który mi podałeś, czyta jednocześnie z dwóch różnych tabelek? Z tabeli "obrazek" i z tabeli "odrzucony_obrazek"?
-------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie skrypt, tylko zapytanie
![]() Ale tak, pobiera ono rekordy z tabelki "obrazek", których identyfikatory nie istnieją w tabelce "odrzucony_obrazek" (dla podanego IP). |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 1 Dołączył: 28.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego poszperałem w necie nad poszukiwaniem najlepszej metody i stwierdziłem, że wpis z IP użytkownika oraz unikatowa tablica Array w bazie danych, z numerami "niechcianych obrazków" była by dobrym rozwiązaniem, a przynajmniej jedynym jakie mi przychodzi do głowy Tak więc czy takie coś mogłoby źle funkcjonować? A może jakiś pomysł na lepszą metodę? Nic lepszego nie wymyśliłem, prócz rejestracji zalogowania i wtedy odrzucania obrazków, bo niektórzy mają ip zmienne więc niewypali w 100%. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok Sowiq wielkie dzięki, bo nawet nie wiedziałem, że można dawać zapytanie do dwóch tabel jednocześnie, a sposób jest o wiele prostszy i wygodny
![]() -------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nic lepszego nie wymyśliłem, prócz rejestracji zalogowania i wtedy odrzucania obrazków, bo niektórzy mają ip zmienne więc niewypali w 100%. Jak miałem kiedyś internet z jakiejś tam sieci mobilnej, to zawsze mi zmieniało ip przy nowym połączeniu. Ciekawi mnie ilu procentowo użytkowników internetu ma zmienne ip. Te rejestracje zawsze mnie odpychają. Dlatego jestem zwolennikiem stron typu "Wejdź i masz". Na początku myślałem o wykorzystaniu jakoś ciastek, wtedy nie było by problemu zmiennego ip, ale chyba z ciastkami się nie da zrobić przy tak dużej ilości informacji, które miałyby być tam zawarte. Chyba żebym nadawał każdemu użytkownikowi w ciastku unikatowy numer identyfikacyjny, a potem odwoływał się na podstawie tegoż numeru do tablic -------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Chyba żebym nadawał każdemu użytkownikowi w ciastku unikatowy numer identyfikacyjny, a potem odwoływał się na podstawie tegoż numeru do tablic Sam sobie odpowiedziałeś jakie będzie najlepsze rozwiązanie ![]() Możesz też rzucić okiem na to: http://samy.pl/evercookie/ |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 14.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
I tak tez zrobię, a zapytanie, które mi podpowiedziałeś, skrypt już poprawiony i działa, aż miło patrzeć jak się zmieniają losowo obrazki, tylko nie te których nie chcę
![]() -------------------- OK-Word.com - Nauka podstawowych slowek z jezyka angielskiego, Zapraszam.
"Głupiec nie wierzy w nic z tego, co nie wynika z jego własnego doświadczenia" "Na początku stworzył Bóg niebo i ziemię" - inna sprawa, ze człowiek to potem popsuł, ale jeżeli tworzenie wyszło od Boga, to zaiste jestem jego synem:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:49 |