FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Okay, har sökt en hel del - såväl här som externa källor, men inte hittat några riktigt tillfredställande svar - förhoppningsvis finns det någon som kan ge lite klarhet i det hela...
Well, vet sen tidigare att Access inte är speciellt optimerat för webbplatser med ett större antal användare, men av ren enkelhet valdes den metoden inledningsvis och plötsligt börjar man känna att man kanske växt ur det hela... Det jag undrar är då om det påverkar något om man använder sig av flera access-databaser. Dvs man anropar inte dem samtidigt på samma sida, men om man väljer att splitta upp innehåll så att beroende på vad som hämtas används olika databaser. Påverkar det prestandan positivt eller negativt? Finns det några andra tips man bör tänka på vid användning av access-db, förutom de klassiska att t.ex. stänga alla databaskopplingar så fort man är klar och så? Dessutom som en bonusfråga - ungefär när har man "växt helt ur" access, när är det dags att "make the switch" till MySql motsvarande - hur omständigt är en konvertering? Någon som har erfarenhet av att ändra ifrån access till t.ex. MySql - hur mycket måste ändras i den ASP-kod som används idag? Eller räcker det med att ändra själva koden för kopplingen - som t.ex. nämns i detta inlägg http://www.webmasternetwork.se/index...and,mysql&s=wn Välkomnar alla typer av inlägg och svar ![]() |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Att köra flera databaser och göra "hack" runt ett befintligt stort problem (som microsoft access i 9 av 10 fall är) är fel.
Det är troligen inte så jobbigt att konvertera. Om ni inte har tidigare erfarenhet av mysql blir det såklart jobbigare eftersom ni då måste lära er att administrera (både som systesystemadmins och databasadmins) mysql vilket är betydligt mera avancerat än med access. MySQL är enligt många benchmarks upp mot 10 gånger så snabbt som access och kommer således att skala betydligt bättre. Frågan ni borde ställa er är primärt hur mycket ni kommer att växa och redan nu kanske planera för "nästa" steg, dvs när ni måste klustra eller liknande. Avråder iaf starkt från att försöka bushacka förbi ert problem, köp i så fall temporärt en fetare dedikerad databasserver. |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Jag kör 1miljon+ dynamiskt genererade sidor mot access per månad på en sajt, med gamla asp. Med rätt kodning håller det rätt länge.
Nu håller jag iof på att byta till sqlserver och .net, men det är pga expansion som är förestående. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Klarade millennium-buggen
|
Mycket beror på servern i sig. Jag har mycket dålig erfarenhet av Accessdatabaser när det är en del (50+) samtidig trafik som ska läsa och skriva i databaserna. Läsa fungerar bra men skriva, det är inte kul. Det brukar sluta med att servern köar förfrågningar och det blir allmänt tvärsegt.
Nej, sql i alla dess formar är överlägset. Access är marginellt bättre än textfiler. |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Okay - tackar för inläggen. Upplever idag inga problem med access som db, men känner att det säkerligen inom en kanske inte alltför snar framtid är dags att ändra databaslösning. Stämmer mycket riktigt att mina erfarenheter inom övriga lösningar, t.ex. MySql är väldigt begränsade.
hundserver: Som sagt, anledningen att en satsning på en annan lösning inte skett är att allting succesivt växt fram. Dessutom är som nämnt kunskaperna inom övriga lösningar relativt begränsade. digiArt: Intressant att höra att det alltså trots allt går att ha relativt höga belastningar, men jag antar att det är dags (precis som för er) att alltså inom en inte alltför lång framtid konvertera. grazzy: Hehe... okay inga bushack är aktuella alltså - är det en analys av det hela, eller har du själv erfarenheter av att arbeta mot flera access-db på en och samma webbsida? Westman: i dagsläget är det främst läsning, men med tanke på att antalet registerade användare ökat relativt kraftigt och därmed också "typiska community-funktioner såsom meddelanden fram och tillbaks" - så jag antar att även skrivandet till db är på väg uppåt. Vore trots allt intressant att veta om någon provat att använda sig av flera Access-db till en och samma webbsida (dvs det handlar aldrig om någon samtidig användning av det båda - utan t.ex. som exempel att man i noveller.asp använder sig av noveller.mdb och i artiklar.asp använder artiklar.mdb för att göra en simpel förenkling)... |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
Byt hellre i så fall till ngt med bättre prestanda. Särskilt ngt som kan handha lagrade procedurer, ex. MySql 5 eller SqlServer (Oracle och andra finns också, men är nog inte de som finns mest tillgängliga via shared hosting). (I mitt exempel ovan handlar det främst om läsning av data, inte skrivning) |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Citat:
Jag är faktiskt lite osäker på om en sån här split som du föreslår skulle göra så mycket för prestandan - jag menar mot varje enskild tabell har du ju fortfarande precis samma belastning. Jag tror inte att databasanropen från noveller.asp "störs" av anropen på Artiklar.asp oberoende om tabellerna [novell] och [artikel] ligger i samma databas eller inte. Kanske har jag dock fel - jag är något osäker på hur lockhanteringen funkar i Access - kanske den är global för databasen i något avseende. För prestanda tror jag mer på vertikal split - dvs splitta varje tabell i enskilda databaser - tex Artiklar200604, Artiklar200605 etc Detta ger dock en i grunden helt oacceptabel design - men beroende på din lösning kanske den är ok ändå. Jag har dock haft mycket goda erfarenheter av Access i webblösningar - prestandan är bättre än man tror - skriver du koden rätt och ser till att ha din connection öppen så kort tid som möjligt så ska det mycket till innan du får "krockar" = samtidiga användare mot databasen (detta är långt ifrån samma som samtidiga besökare på websajten). Dock vill jag säga att även om man kan få en prestanda som är "god nog" med Access så är det inte jämförbart med en riktig databasmotor som MySQL eller MSSQL. De (relativt enkla) tester jag gjort ger följande resultat Vid många samtidiga användare är MySQL minst 10 gånger snabbare än Access - använder du stored procedures i MySQL5 kommer du upp i 20 gångers skillnad - där ligger också MSSQL. Vid sekvensiella anrop (inga samtidiga) är MySQL och MSSQL runt 2-5 gånger snabbare. |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Klarade millennium-buggen
|
Citat:
|
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Citat:
- connectionsträngen givetvis - datum (kanske använder du now() eller ngt i sql:en) - vill också minnas att "inre SQL"-satser strular i MySQL (dvs har du sql såsom select * from tabell_a where id in (select id from tabell_b)) får du göra om till en vanlig join istället |
||
![]() |
![]() |
Svara |
|
|