Slicing the database to pieces
Just this morning was the usual busy day for me as I try to demonstrate the system over and over again. One module that caught my attention was the consumption history of the user. It is a list of their electricity consumption.
As I demonstrate my program one thing that caught my attention was the speed of foxpro to display the results. Faster than my super power sql server. Then I begin to wonder couldn't it be that the hundred thousand microsoft sql server was out perform by a free foxpro database files?
Its ridiculous! impossible!
Then I begin to realize that the structure of my database was indeed a big mistake. I over load the power of sql server by making it one chuck of table where records from district 1 to 17 are all rolled to one table. It may seem nice since worrying about maintenance was quite a piece of cake but then when I began to start the slicing and uploading some records a lot of ideas suddenly comes into my mind.
I realize that indeed it will be faster. Imagine if we try to compare 100 records versus 100,000 records with one table and the same fields. Obviously the 100 records will querry much faster than the 100,000. Then I realize no wonder my program frequently generate connection timeout as I initialize the computation of bills.
Then I began to wonder if microsoft vision is to make a software with bulit-in everything don't you think became more buggy? Who cares right I bet microsoft already thought about that before I do right? and besides they hire the most intelligent creature that they can find.
As for me I'll be charging my way through this records and align the system as fast as I can. Christmas in a cubicle is a hell no!
As I demonstrate my program one thing that caught my attention was the speed of foxpro to display the results. Faster than my super power sql server. Then I begin to wonder couldn't it be that the hundred thousand microsoft sql server was out perform by a free foxpro database files?
Its ridiculous! impossible!
Then I begin to realize that the structure of my database was indeed a big mistake. I over load the power of sql server by making it one chuck of table where records from district 1 to 17 are all rolled to one table. It may seem nice since worrying about maintenance was quite a piece of cake but then when I began to start the slicing and uploading some records a lot of ideas suddenly comes into my mind.
I realize that indeed it will be faster. Imagine if we try to compare 100 records versus 100,000 records with one table and the same fields. Obviously the 100 records will querry much faster than the 100,000. Then I realize no wonder my program frequently generate connection timeout as I initialize the computation of bills.
Then I began to wonder if microsoft vision is to make a software with bulit-in everything don't you think became more buggy? Who cares right I bet microsoft already thought about that before I do right? and besides they hire the most intelligent creature that they can find.
As for me I'll be charging my way through this records and align the system as fast as I can. Christmas in a cubicle is a hell no!
Comments