I’ve been particularly enjoying my job over the last few weeks. There have been plenty of new products to look at and play with. I’ve been to visit clients. We’ve delivered working code. I’ve even done some fruitful pair programming.
Right now we’re in the middle of delivering a J2EE web app to a client. The system is functionally OK, so Charles and I are looking at the performance.
Our first task was to work out how to load a realistic number of records. We’re aiming for 75,000 people, a few more than the twenty or so we use for unit testing. We chose to load data through the applications web interface, modifying existing unit tests based on the httpunit library. That took an afternoon, and we can now load arbitrary data as fast as the server will handle it.
The problems we’ve come across so far have proven surprisingly tractable. A few log statements new database index here, and re-written Hibernate query there, and issues either disappear, or are at least reduced to acceptability.
One neat Oracle feature is the Function Based Index, which lets you create an index based on a function, such as UPPER(surname). In our case, it saved having to create a special column in the Person table to hold an uppercase version of the surname.
Meanwhile, my boss has sold me to another client. Next week I’ll be on-site for a few months with another good friend. The down-side is that the project is in C++, but the up-sides are many:
Woohoo!
Comments
Hey. I'm doing an on-site upgrade at 0500 tomorrow morning. As of 1308 today we're still writing code and trying to optimise SQL queries.
I hate you :)