Witam!
Robię większy projekt i potrzebuję mieć do tego dużą bazę danych MySQL(duża liczba rekordów). Zależy mi na szybkości, więc chciałbym wiedzieć czy przy 100 000 rekordach PHP+MySQL szybko pracuje? Czy może równie dobrą prędkość uzyskam przy 1 000 000 rekordów?
Dla SELECTów taka ilość to pestka...
wszystko zależy od projektu bazy i aplikacji - możesz zrobić tak, że przy 1.000.000 będzie śmigało a można zrobić tak, że przy 1.000 będzie muliło
Zależy od indexów, zależy od operacji jakie będziesz wykonywał na rekordach.
Indexy przyspieszają selecty (tak w uproszczeniu, bo muszą być odpowiednio dobrane do zapytania), natomiast zwalniają operacie modyfikujące dane. Duża liczba indexów znacząco zwalnia insert, bo poza wstawieniem samych danych trzeba utworzyć jeszcze indexy.
Jeśli z tych 1mln rekordów będziesz wyświetlał tylko kilkadziesiąt, to ok. Jeśli będziesz chciał wyświetlić klientowi kilkadziesiąt tysięcy, to z uwagi na samą liczbę danych jaką trzeba przesłać od bazy do serwera www i dalej do klienta, będzie spowolnienie.
Bez szczegółów możemy sobie trochę pogdybać, rozpisywać się o ogólnikach, które w konkretnym problemie mogą okazać się nawet błędne.
Znaczy będę wybierał jeden rekord z pośród miliona i się zastanawiałem, jak szybko taki rekord wydobędę.
Dzięki za pomoc!
Pamietac tez trzeba, ze nawet jak baza smiga to trefny kod PHP potrafi wszystko zepsuc, gdy zamiast buforowac sobie wyniki odpytujemy niepotrzebnie...
Opolski Portal Programistyczny
http://programowanie.opole.pl
http://protechnologia.pl
To jak pisałem o indexach. Jeśli założysz odpowiednie pomagające ci wyszukiwać ten odpowiedni to nie powinno być problemu.
Jeśli pula rekordów jest stosunkowo stała (czyli mała liczba insert/update/delete) to jest super. Jeśli operacji IUD jest też sporo, to trzeba sprawdzić czy będą znacząco spowalniały/obciążały maszynę i blokowały dostęp do tabeli/strony. Wstawienie rekordu to poza danymi i kluczem głównym konieczność utworzenia jeszcze wszystkich dodatkowych indexów.
Przeprowadź sobie jakieś testy i zobaczysz jak sama baza działa z taką liczbą rekordów.
A reszta zależy jak powiedział protechnologia.pl też od kodu aplikacji.