1、设计选择:
2、使你的数据尽可能小:
MySQL支持许多不同的存储引擎(表类型)和行格式。确定使用哪个存储引擎和索引方法,为应用程序选择合适的表格式可以大大提高性能。
可以使用下面的技术可以使表的性能更好并且使存储空间最小:
- 尽可能地使用最有效(最小)的数据类型。
- 尽可能使用较小的整数类型使表更小。例如,MEDIUMINT经常比INT好一些,因为MEDIUMINT列使用的空间要少25%。
- 如果可能,声明列为NOT NULL。它使任何事情更快而且每列可以节省一位。
- 对于MyISAM表,如果没有任何变长列(VARCHAR、TEXT或BLOB列),使用固定尺寸的记录格式。这比较快但是不幸地可能会浪费一些空间。
- 在MySQL/InnoDB中,InnoDB表使用更紧凑的存储格式
- 每张表的主索引应该尽可能短。这使一行的识别容易而有效。
- 只创建你确实需要的索引。
- 如果很可能一个索引在头几个字符上有唯一的前缀,仅仅索引该前缀比较好。
- 在一些情形下,将一个经常被扫描的表分割为2个表是有益的。
3、列索引
所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。
MyISAM和InnoDB存储引擎还支持对BLOB和TEXT列的索引。当索引一个BLOB或TEXT列时,你必须为索引指定前缀长度。