Hej jag har en chatt som i nuläget är med en textfil som lagring för chattdatan. Jag kör med 500 millisekunder mellan varje anrop till sidan som hämtar ut datan. Nu är det såhär att textfiler och FSO inte har något stöd för att köra limit på antal rader ur textfilen som ska hämtas ut, och om man inte rensar chattloggen skitofta så blir ju textfilen jävligt stor och då kan det tillslut ta lång tid att ladda in chattdatan.
Därför vill jag inte använda textfiler, jag vill byta till Databas(Access/MySQL) eller en XML fil. Med en databas kan man ju köra LIMIT och TOP för att begränsa datan som hämtas ut. Jag behöver nämligen inte hämta ut hela loggen, 30 poster räcker. Däremot så kan jag tänka mig att det tar längre tid att koppla upp till databasen än vad det tar med XML/Textfil att hämta ut datan.
Jag har bara jättelite erfarenhet inom XML och lyckades tidigare (genom att kopiera/klistra) ha en loop som loopar ut chattmeddelanden, men då fick jag inte till det när man skulle skicka in en post i XML-filen.
Access och framförallt MySQL skulle inte alls vara några problem att fixa en fungerande lösning i, men som sagt det kanske är segare.
Så vad tycker ni?
Databaser eller XML?
Och ifall XML, hur gör man för att skicka in data i xml-fil?
en databas är inte lösningen för dig, jag hade valt xml. Att skriva till XML är ungefär som en blandning mellan textfilshantering och databashantering. Det kräver lite mer arbete en att skriva till en textfil men är snabbare än en databas till det du ska göra.
Du kan dessutom anpassa med minimala ändringar i koden eftersom du redan använder dig av FSO.
Är inte heller så duktig på XML men jag har å andra sidan inte behövt använda det särskilt mycket.
XML ska du inte ha, det är skitlångsamt. En databas är nog klart bättre för dina ändamål. Egentligen är ingetdera jättebra, men en databas är klart bättre än en XML-fil om man ska hämta data fort. Den kan dessutom cacha vissa delar i RAM vilket gör det larvigt mycket snabbare att hämta ut grejer, och även om den måste gå ner på disk lär filhanteringen vara avsevärt mycket mer sofistikerad än i XML-parsern.
XML ska du inte ha, det är skitlångsamt. En databas är nog klart bättre för dina ändamål. Egentligen är ingetdera jättebra, men en databas är klart bättre än en XML-fil om man ska hämta data fort. Den kan dessutom cacha vissa delar i RAM vilket gör det larvigt mycket snabbare att hämta ut grejer, och även om den måste gå ner på disk lär filhanteringen vara avsevärt mycket mer sofistikerad än i XML-parsern.
om man jämför XML och Databaser med en textfil som jag har nu då?
Fördelen nu ligger på databaser:
* Jag har god kunskap inom det
* Jag vet hur man begränsar datan som skickas ut (LIMIT) så slipper jag visa typ 10000 poster = snabbare
så om ingen har något riktigt bra argument för varför databaser är sämre än xml och textfiler så tell me.
Och förresten, jag behöver argument för att databaser är bättre än textfiler också, jag vill ju inte bygga om hela systemet i onödan.
Bygga om systemet? Tja.. det kan ju inte vara jobbigt om du byter från textfil till en databas kan jag inte tänka mig.. det är ju i princip samma sak ju..
Det ska ju vara ändamålsenligt också. All data gör sig inte bäst i databaser.
Hade jag fått en femtioöring för varje gång någon länkat till en irrelevant artikel hade jag varit en rik man... :OO ;)
Jag håller med om att XML är jättebra i många fall, men det betyder inte att det alltid är bra, och just här har jag svårt att se vad det skulle duga till. Anledningar till att jag förespråkar en databas är:
Databaser är gjorda för att kunna hantera flera samtidiga användare.
Du hämtar bara den informationen du är intresserad av. Använder du plaintext eller XML måste du antingen läsa eller skriva betydligt mer än du är intresserad av, vilket är dåligt eftersom...
Disk-I/O är långsamt. Databashanterare sköter det bättre än vad du gör när du läser en XML- eller textfil, och dessutom har databasen cachningsmekanismer som gör att de kan undvika det helt.
Som sagt tycker jag inte ens att databaser är det bästa valet, det är att använda någon slags lösning som bor helt i primärminnet, men det är kanske en aning overkill.