Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]ile moge dodać rekordów do mysql?
slimboot
post
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:)

Go to the top of the page
+Quote Post
CuteOne
post
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.
Go to the top of the page
+Quote Post
sowiq
post
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 smile.gif Z tego co pamiętam to silnik przestaje ogarniać indeksy ważące więcej niż 40 GB.
Go to the top of the page
+Quote Post
slimboot
post
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:)

Go to the top of the page
+Quote Post
sowiq
post
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 snitch.gif
Go to the top of the page
+Quote Post
slimboot
post
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:)

Go to the top of the page
+Quote Post
sowiq
post
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ń).

  1. SELECT *
  2. FROM obrazek
  3. WHERE id NOT IN (
  4. SELECT obrazek_id FROM odrzucony_obrazek WHERE ip = '127.0.0.1'
  5. )


[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
Go to the top of the page
+Quote Post
slimboot
post
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:)

Go to the top of the page
+Quote Post
sowiq
post
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 wink.gif

Ale tak, pobiera ono rekordy z tabelki "obrazek", których identyfikatory nie istnieją w tabelce "odrzucony_obrazek" (dla podanego IP).
Go to the top of the page
+Quote Post
Outside
post
Post #10





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 28.08.2013

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


Cytat(slimboot @ 17.12.2013, 15:06:46 ) *
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%.
Go to the top of the page
+Quote Post
slimboot
post
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 specool.gif . Dalej już powinienem sobie poradzić samemu


--------------------
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:)

Go to the top of the page
+Quote Post
sowiq
post
Post #12





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(slimboot @ 17.12.2013, 14:59:32 ) *
nawet nie wiedziałem, że można dawać zapytanie do dwóch tabel jednocześnie


Nie takie rzeczy żeśmy ze szwagrem robili cool.gif Powodzenia.
Go to the top of the page
+Quote Post
slimboot
post
Post #13





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 14.03.2011

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


Cytat(Outside @ 17.12.2013, 15:45:06 ) *
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:)

Go to the top of the page
+Quote Post
sowiq
post
Post #14





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(slimboot @ 17.12.2013, 15:07:37 ) *
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 wink.gif

Możesz też rzucić okiem na to: http://samy.pl/evercookie/
Go to the top of the page
+Quote Post
slimboot
post
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ęsmile.gif Miodzio:)


--------------------
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:)

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 10:49