28
九/091
九/091
Mysql的一些问题总结
最近时间比较多,决定花些时间深入研究下mysql,尤其是性能和高负载站点的优化问题。不可避免的再次察漏补缺下基础知识,还是发现一些以前忽略的小细节,正可谓温故知新。
- 使用alter语句修改表的时候,change和modify都可以修改表的定义,不同的是change后面需要写两次列名,但可以修改列名,而modify则不行。
- insert语句一个很好的特性:可以一次插入多条记录。格式为:insert into table (field 1, … , fieldn) values (value1, … , valuen), (value1, … , valuen); 这个特性在插入大量记录时,节省很多网络开销,大大提高效率。
- 其实查询Mysql安装后自带的帮助文档是很方便的,在提示符中键入 ? contents,根据结果依次使用问号操作符做进一步查询,即可获得详细信息。
- Blob和text类型会引起一些性能问题,尤其是删除了大量记录的时候。应该使用optimize table功能进行碎片整理。
- MyISAM引擎建议使用固定长度的数据列代替可变长度的数据列,而innodb引擎建议使用varchar类型,因为char平均占用空间多于varchar。
- 可以使用合成索引来提高大文本字段的查询性能,在表的设计中多一个字段,用来存储大文本的md5值,精确匹配大文本查询的时候可以利用该文本的md5值进行查询,以减少I/O,提高查询效率。
09:11 on 十一月 8th, 2011
哈哈,说得好