FAQ |
Kalender |
2005-01-16, 21:19 | #1 | |||
|
||||
Medlem
|
Server: Debian Linux, apache2, mysql4 (MyISAM)
Hur många rader bestående av 5 columner, varav 3 av dem i ~98% av raderna är NULL klarar mysql av innan det kör ihop sig? Resten av columnerna innehåller ID i enda och en siffra 1-10 i den andra. Mao, inget som tar mycket plats. Är 1 miljon att lita på? 10? 50? 150? ... Nån som har en idé? MVH Christian |
|||
Svara med citat |
2005-01-16, 22:01 | #2 | |||
|
||||
Bara ett inlägg till!
|
Kollapsa? Du utgår alltså från att det finns buggar som visar sig när man kör stora tabeller. Var inte så säker på det. Här är vad manualen säger:
http://dev.mysql.com/doc/mysql/en/Table_size.html |
|||
Svara med citat |
2005-01-16, 22:12 | #3 | |||
|
||||
Medlem
|
Citat:
Ja, jag har läst vad manualen skriver, men ... mitt eget experiment visade ju något annat. Jag söker därför nån som verkligen testat detta och vet... MVH C. |
|||
Svara med citat |
2005-01-18, 12:13 | #4 | |||
|
||||
Medlem
|
Vi har flera tabeller med över 10miljoner rader, allt från loggar till relationstabeller och det fungerar utmärkt. Vi ser ingen degradering i prestanda på 1000 rader eller 10 miljoner rader, naturligtvis ska man ha index på det som söks bara.
|
|||
Svara med citat |
2005-01-18, 12:32 | #5 | |||
|
||||
Klarade millennium-buggen
|
Citat:
|
|||
Svara med citat |
2005-01-18, 12:42 | #6 | ||
|
|||
Klarade millennium-buggen
|
MySQL-tabeller har en teoretisk storlek som är samma som filsystemets begränsning för filer (vilket står på urlen där uppe).
Dock har du en poäng i att tabellerna kan rasa ibland. Det kan hända med såväl 100k eller 1000k rader. Det som händer är då oftast att mysql har krascha (eller snarare att nån har stängt av den med kill -9 eller bootat om servern) i en skrivning och tex inte lyckats få ner hela indexet på disken. Det är väldigt sällan som någon eller all data försvinner i en sådan händelse. Ovanstående har hänt mig ett par gånger, ofta i "trafikerade" tabeller (det blir ju självklart så rent statistiskt), det brukar dock lösa sig med "repair table" eller myisamchk eller motsvarande. Det är en rätt så vanlig fråga det här och den besvaras oftast bäst med exempel på stora siter som använder MySQL. http://www.mysql.com/it-resources/case-stu...t-casestudy.pdf http://www.mysql.com/news-and-events/succe...oo_finance.html |
||
Svara med citat |
2005-01-20, 16:33 | #7 | |||
|
||||
Medlem
|
Tack för alla svar. Jag kör på och hoppas på det bästa då...
|
|||
Svara med citat |
2005-01-20, 20:02 | #8 | |||
|
||||
Mycket flitig postare
|
Citat:
Det är inte direkt så att det kostar dig zillion kronor att göra en eller flera simuleringar och belastningstester. Jag menar... det är ju fånigt enkelt att göra ett skript som matar in några milioner rader i en tabell med random data. När du fått ca 50% mer än vad du räknar med att ha i "live" version, så sätter igång två skript, ett som gör lite lagom deletes och inserts och ett som gör massa random selects. Det är ju högst en timmas jobb för att få allt testat. Se bara till att du kör på så lik hårdvara (om inte densamma) samt samma relase och OS-version som live server. Så. När du har kört sånt test, kanske under några dagar och flera upprepade gånger, kan du sluta "hoppas" och börja "veta". Fortfarande kan ju skit hända naturligtvis, men inte pga. tabeller än för stor. /Zoran |
|||
Svara med citat |
2005-01-21, 03:22 | #9 | |||
|
||||
Medlem
|
Citat:
Jag har faktiskt redan provat mata in en massa rader. Det tog högst en kvart för övrigt 1 miljon fungerade fint och var snabbt också med index på rätt plats. MVH C. |
|||
Svara med citat |
Svara |
|
|