just finished a major refactoring of t he database schema to introduce a new table, 'list_archtype'.
previously every list was being stored as a unique collection of ships/pilots/upgrades. so BBBBZ, which shows up 100+ times in the database, was being stored 100+ times. this was a) having performance impact and b) getting in my way of implementing the archtype tagging feature that we discussed here on the boards a few months ago. so I introduced a new table, list_archtype , that represents each unique list. when a new tournament list gets entered, it'll refer to the archtype list (if it exists), or a new archtype list (if it doesn't). right now there is about a 2.5-1 ratio between tournament lists (9,357 list) and archtype lists (4,237). all of the archtypes can be browsed here .
in general, my original design is starting to creak under all the data the community has thrown at the site. there are a still a few performance issues. 1) fetching summary data of the number of tourneys, lists, ships, upgrades, points spent is taking too long for my taste. I've disabled that for now. 2) fetching the tourneys list is also taking a bit too long (~4 seconds), which is annoying, since it is the 'home page' for the site. I'm going to work on fixing that next. 3) the top lists page now generates its cache much faster (~30s instead of ~100s), which is good, but the cache generation should be way faster.
I also added checkbox for 'nationals' in the charts page. here's the elimination view of all the nationals played to date:
after refactoring the schema my tableau views are all messed up, and now very out of date. I'm thinking about dumping tableau and just doing the key graphs by hand.
so ... plenty of work still left to do before I think I can move past this little project and take on a cool project that geordanr and I have been putzing around with !