When MySQL tables quickly grow by millions of rows, table storage space becomes an issue. Our table design must focus on keeping these tables compact and efficient. We’ll be refactoring both our code and database table designs from Part 1. Code refactoring techniques include method extraction, abstract base class, static properties and methods, late static binding, arrays of instance objects, internal cache. We refactor our tables to place them in “third normal form,” providing far more compact storage and improved row-insert performance. We’ll be improving the data layer of our file-import project.