At the moment my server simply stores their username,hashed password, chat room they use, along with their name, nick name where they are from, easy enough, now i've hit a snag (took sometime as well)
the server now has over 8,000 registered users / ids / members (1 person could have 200 id's for example)
now here's the problem, I needed to be able to store data which allowed me to store data dynamically, more than the default string length, so it used a BLOB thing
Function ExtractBuddyList(UserN: String): TBudList;
var
LocateSuccess: Boolean;
SearchOptions: TLocateOptions;
N,BudCount: Integer;
Tmp,Tmp2,Buds: String;
begin
If Trim(UserN)='' Then Exit;
SearchOptions := [loCaseInsensitive];
locateSuccess := DataModule1.Table1.Locate(
'UserName'
,UserN,Sea
rchOptions
);
Try
If LocateSuccess=False Then
Exit;
else
Begin Buds:=DataModule1.Table1.f
ieldbyname
('BuddyLis
t').AsStri
ng;
...
...
.....
ok, the code works PERFECTLY there's no problems at all, but lol, everytime i go to extract data, it pulls around 8% of CPU time, combined with all the other checks (as the person logs onto the server) it hits around 20 - 33% of CPU time, ok fine that's not much at all, after all i am only on a 1gig CPU and really a server should be of a nice decent speed, 2.5+gig upwards etc etc..
So this is what i'm wondering..
Would there be any point of me changing from a Paradox Database to say Access or something else?
I would have to be able to store a string > 4k which basically consists of usernames of "buddies"
when the user Joe logs in, the server looks to see the buddylist, oh yes
joe has these buds here
james,mark,lisa,stephan,me
l,kimmy
Limiting it to 255 chars would not be possible, i thought of storing a text file for each one of the users but that would be very messy (8,000 files for each user).
Would it be worth the effort to switch to a different DB? or start from fresh using something else...
speed that's what i need lol, and Paradox aint cutting it.