title: MySQL partitioning approach for addresses table
body: <p>I have a table that contains 100 million+ addresses. The table structure is:</p>
  
  <pre><code>`id` int(11) NOT NULL AUTO_INCREMENT,
  `address1` varchar(255) DEFAULT NULL,
  `address2` varchar(255) DEFAULT NULL,
  `city` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `zip` varchar(255) DEFAULT NULL,
  `country` varchar(255) DEFAULT NULL,
  `addressable_id` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL
  </code></pre>
  
  <p>What I need help in deciding what type of partitioning to implement. Should i use RANGE partitioning on the creation date, or HASH partitioning on the id column, or some other type ?</p>