更改mysql表字段属性的方法

你可能会说不就是alter table么,当然这个alter操作的确可以实现,但是当你数据库的表的记录有很多的时候,这样做会阻塞mysql服务。而且如果数据量很大,这个操作是相当缓慢的,因为通常情况下alter操作会引起表重建。
但其实所有的表结构都是保存在.frm这个文件中的,这种方式就是直接替换.frm的方式。操作如下:

阅读全文»

jQuery插件的开发

jQuery插件的开发包括两种:

一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。

1、类级别的插件开发

类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展:

阅读全文»

关于xhprof的妙用

近来公司项目中老有mysql服务器崩溃的现象,根据这种情况,需要做一些针对性的优化,因为这种有慢日志可查,暂时性的针对这种情况做了一些临时措施。不过在做了一些避免性措施后,突然服务器swap陡然升高。考虑到之前的一些举措不可能会导致这种现象,所以使用xhprof这个监测工具查看下哪里出了问题。
经过分析,有个str_replace函数内存消耗很大,xhprof是个很好的东西,它可以看到每个函数执行的次数和消耗的内存数量。后来,我详细查看了源码,发现,以前同事留下的一个大坑。他把原来文章的全部内容做了个正则,然后做两个一个替换字符,这样做是很消耗内存的,很容易造成内存泄露。还好终于修复了。