Originally Posted By: argv0
It's the 12mb hash file that you should be splitting up. I'm sure there's a way to further isolate the data you use. Even if you just split them up randomly (choose table based on $r(1,2)) you could schedule your saves independently and reduce the wait-time. For instance, you could have 2 timers saving each table, each running 5 minutes apart (but at 10 minute intervals)-- then, instead of 3-4 seconds of delay every 10 minutes you would only have 1-2 seconds of delay every 5 minutes. You could continue this division as necessary until you have negligible delays (1/4 second every 2 minutes).

It's not really a maintainable solution if your data is growing fast, but it's yet another optimization you can consider if you've tried other options.


I've thought about splitting it up, but since one table is the vast bulk of the data, that would be pointless. The data stored in that table is pretty much log data, for which retrieving speed is not an issue. Since the bot synchronizes channels on different networks and PMs with different people into one, mIRC's default logging system doesn't cut it.

I could just export the data to logfiles as I go, of course. Just gotta check in on how to do that in a nice matter. I don't want mIRC to access my HD a bunch of times every second, just to write one line.


Learning something new every day.