Right, before getting to my actual solution to the British Airways SQL Timout Exception, I'll explain where I came accross the problem in the first place.
Its called the news. BA cabin crew are planning to strike over Christmas, I am seriously pissed off with them, not because they want to strike but because of their reasons.
They say: "we are understaffed and we arent paid enough"
All I hear is: "I only get paid at least £20,000 a year to be a barman on a plane serving food and drink with a once-a-day task of waving my arms around while nobody pays attention. In my free time I'm generally somewhere hot, staying in a hotel that the airline pays for, getting lashed on duty free alcohol, smoking duty free fags and shagging my work colleagues. It's not on, I only get to go abroad 40 times a year and in my career I have only seen 100 different countries. Im off on strike, I dont care that I'm ruining the christmas of countless children, some of whom were going to lapland to see santa but now cant and will probably be scarred for life. I also dont care that by striking I am putting millions of customers off flying with BA and from the revenue loss there may be redundancies in which case my job will be gone and this strike will be pointless anyway."
So, the problem here is that this statement times out due to the high number of records returned:
SELECT * FROM BA_CabinCrew WHERE IsBastard = 1
So to get around the problem I found the best soluton to be:
DELETE FROM BA_CabinCrew WHERE IsBastard = 1
In English, sack the lot of them. There's 2.1 million people out of work in this country, run a mass recruitment drive, it won't take long to replace them all and theres 8 days until Christmas so you could probably have them all trained up by then aswell.
Rant Over. My next post will be purely C# or T-SQL, promise :)
Dedicated to BA Victims Lee-Man and Ann