mysql5.5禁用innodb引擎方法

[| 不指定 2012/05/30 13:44]
    今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1      ib_logfile0  ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。
    看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下mysql里面的数据库,这个比较简单,和mysql命令用法是一样的,运行一遍就ok了。然后发现还是无法关闭innodb,很奇怪,查了下发现原来mysql5.5默认使用innodb了,所以无法简单的关闭掉,还要设置一下默认使用的引擎为myisam才可以,在my.cnf里加上如下两句:

default-storage-engine=MYISAM
innodb=OFF

重启mysql,然后删掉那三个讨厌的文件即可。





Tags:
    一直对内存操作的速度没有数值概念,只泛泛的知道memset影响效率,反复分配释放内存影响效率,具体速度如何,从来没试过,今天试验了一下。

    写了个程序,分配一个指针数组,挨个分配内存,然后挨个释放。使用的是一台2核16g内存的虚拟机。gcc版本3.4.2

    先是分配了1w个100字节块,发现5ms以内即可完成。
    然后扩大到500字节块,速度没什么变化。

    然后分配100w个字节块,平均需要270ms左右。
    字节块扩大的2k左右,大概5s完成。
    扩大到5k左右,大概12s左右。
    以上数据均为malloc+memset数据和calloc数据,两者不相上下。

    只malloc不memset,大概能缩短20%左右,可见memset对速度还是有一定影响的,不过对于性能要求不是那么严苛的程序,设置一下提高程序稳定性也是值得的。避免某变量忘记初始化出现野值的问题。



Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]