title: Storing very large integers in MySQL
body: <p>I need to store a very large number (tens of millions) of 512-bit SHA-2 hashes in a MySQL table. To save space, I'd like to store them in binary form, rather than a string a hex digits. I'm using an ORM (<a href="http://search.cpan.org/~ribasushi/DBIx-Class/lib/DBIx/Class.pm" rel="noreferrer">DBix::Class</a>) so the specific details of the storage will be abstracted from the code, which can inflate them to any object or structure that I choose.</p>
  
  <p>MySQL's <code>BIGINT</code> type is 64 bits. So I could theoretically split the hash up amongst eight <code>BIGINT</code> columns. That seems pretty ridiculous though. My other thought was just using a single <code>BLOB</code> column, but I have heard that they can be slow to access due to MySQL's treating them as variable-length fields.</p>
  
  <p>If anyone could offer some widsom that will save me a couple hours of benchmarking various methods, I'd appreciate it.</p>
  
  <p><em><sub>Note: Automatic -1 to anyone who says "just use postgres!" :)</sub></em></p>