title: MySQL indexes: how do they work?
body: <p>I'm a complete newbie with MySQL indexes.  I have several MyISAM tables on MySQL 5.0x having utf8 charsets and collations with 100k+ records each.  The primary keys are generally integer.  Many columns on each table may have duplicate values.</p>
  
  <p>I need to quickly count, sum, average, or otherwise perform custom calculations on any number of fields in each table or joined on any number of others.</p>
  
  <p>I found this page giving an overview of MySQL index usage: <a href="http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html</a>, but I'm still not sure I'm using indexes right.  Just when I think I've made the perfect index out of a collection of fields I want to calculate against, I get the "index must be under 1000 bytes" error.</p>
  
  <p>Can anyone explain how to most efficiently create and use indexes to speed up queries?</p>
  
  <p>Caveat: upgrading Mysql is not possible in this case.  Using Navicat Light for db administration, but this app isn't required.</p>