The reporting system had always been slow. But this is to be expected, so the consultants said, the reports are incredibly complex and couldn't possibly be completed in the short time you want.

As time went on and more data was entered, the reporting system started to drag down production system. But this is to be expected, the consultants said, the reports are incredibly complex and require a lot of resources to run, so we will run them on their own server.

As time went on and even more data was entered, the dedicated reporting system was taking even longer and longer to run. But this is to be expected, the consultants said, the reports are incredibly complex and will need to be run as a nightly batch job.

As time went on and still more data was entered, the nightly reports took longer and longer to run until, one day, the reports stopped running all together. But this time, the consultants were not hired. This time, they sought the help of Adam Courtney, who was one of their own.

As Adam looked and looked, he learned that the reports ran all night and all day and all night again. The reports kept running and running until they caught up with the next day's reports. Adam knew that the reporting server must not have liked this and decided to crashed.

As Adam looked and looked even more, he learned that the consultants indeed did an amazing feat. With a query querying a few tables, they had transformed a mere ten thousand rows into more than twenty billion. And then they repeated this over and over and over again.

And with the careful removal of several misplaced joins, Adam had brought the reporting system up again.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!