从sql语句考虑
1、对于查询的sql 语句 如 select .... 跟 insert into table_name select * from .... 还有 这种要尽可能的使用索引
除此之外, 等值条件 也尽可能的使用索引 如 a.studno=b.studno
2、使用explain 产看 select的执行计划
3、当数据只有一行时候 就使用 limit
4、条件字段 跟 连接字段 需要建立索引
从数据库跟表设计考虑
1、永远为每个表设置一个 ID 最好使用 int 并且是自动递增类型(auto_increment)
2、 属于某列重复率很高的 可以考虑使用枚举行 enum 如:性别,种族 create table table_name(sex enum("男","女","未知"));
3、 尽可能的使用 not null, null 在mysql 中也是占一个字节的
1、对于查询的sql 语句 如 select .... 跟 insert into table_name select * from .... 还有 这种要尽可能的使用索引
除此之外, 等值条件 也尽可能的使用索引 如 a.studno=b.studno
2、使用explain 产看 select的执行计划
3、当数据只有一行时候 就使用 limit
4、条件字段 跟 连接字段 需要建立索引
从数据库跟表设计考虑
1、永远为每个表设置一个 ID 最好使用 int 并且是自动递增类型(auto_increment)
2、 属于某列重复率很高的 可以考虑使用枚举行 enum 如:性别,种族 create table table_name(sex enum("男","女","未知"));
3、 尽可能的使用 not null, null 在mysql 中也是占一个字节的
4、对于固定长度的列使用固定的长度 char 类型更好
除此之外, 如果没有事物的严格要求, 尽可能的使用MyISAM 引擎, 如果事物要严格 建议使用InnoDB引擎
如果要求性能,且能够保证数据库 不宕机, 那么可以考虑 memory 引擎