1.对使用MyISAM存储引擎的表,定期使用optimize table table_name 对表进行碎片整理。
2.对于精度要求比较高的字段使用 decimal 字段类型,尽量不要使用float字段类型。float会自动在保留位四舍五入
3.Mysql默认存储引擎是MyISAM,尽量使用MyISAM,如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事物的完整性,并发性要求不是很高。其优势是访问的速度快。
InnoDB:提供了具有提交,回滚和崩溃恢复能力的事务安全。但是对比MYISAM,写的处理效率差一些,并且会占用很多的磁盘空间。
4.日期类型使用:date只能存年月日,datetime可以存储年月日时分秒;
但是用整型比较好int,存储时间戳,但是int 4个字节不超过2038年1-29号,4个字节表示2的31次方-1=2147483647,1 是符号位。
mysql的日期函数:date_sub 查找某个日期增减之间的时间,比如查找最近30秒之内的回复。
date_add (now(),interval 2 month) 当前时间加上2个月后的时间
new()当前时间。 now() 当前时间,interval 减去 30 second(秒)
比如表bbs_post结构:id,title,content,pub_time字段。
查询最近30秒发布文章的时间:select * from bbs_post where date_sub(now(),interval 30 second))<pub_time;
mysql中时间戳自动转换:mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) ->2007年11月20