易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL 5.4的新特性解析

Author: Ivan@mysqlab.net/谭俊青 转载请注明来源URI链接:
http://www.mysqlab.net/blog/2009/04/mysql-54的新特性解析/
MySQL 5.4 之所以命名为5.4,而不是5.2 是因为之前的5.2版本被命名为6.0了(这个应该是商业上的原因,就像java1.6被命名为6.0)。现在的5.4 preview release 是在当前MySQL5.1的基础上,对 Innodb 进行了一些优化,这些补丁来自google,包括:InnodbIoTuning, InnodbAsyncIo, InnodbStatus , NewShowInnodbStatus , SmpPerformance 等。
从所打的那些补丁,我们可以看出,对innodb做了很多优化,特别是io的优化和smp多核cpu的优化。
下面就一些新增参数和默认值的更改做些说明:
innodb_io_capacity
这个在之前的innodb版本中是被写死的,默认值是100,在5.4中默认值已经改成200。
innodb_extra_dirty_writes
这个是非常有用的一个特性,当服务器资源idle的时候,会做checkpoint,将脏数据页写入表空间,及时没有到达设置的比例(innodb_dirty_pages_pct,innodb_max_dirty_pages_pct)。
innodb_buffer_pool_size
默认值由原来的8M改为1G,其实在大些的db中,这个还是远远不够的。可以将1半,甚至2/3的内存用在这上面。
innodb_log_file_size
默认值增至128M 在磁盘性能好些的机器上,应该还要增加,配合innodb_dirty_pages_pct, 以实现更加好的性能。
innodb_thread_concurrency
Innodb中的并发控制参数,默认值由8改0,这个都得以于google的smpperformance补丁,以前并发超过8时,性能基本上会下降。
另外需要提醒的是:目前MySQL5.4还是preview release,不建议用于生产环境。


相关文档:

mysql之内存表

 如何创建内存表

    创建内存表非常的简单,只需注明 ENGINE=
MEMORY 即可:
    CREATE TABLE  `tablename` ( `columnName` varchar(256) NOT NUL)
ENGINE=MEMORY DEFAULT CHARSET=utf8 MAX_ROWS=100000000;
注意

   
当内存表中的数据大于max_ ......

MySQL+PHP产生乱码的原因及解决方法

MySQL+PHP产生乱码原因:
  ◆ MySQL数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MySQL乱码;
  ◆ MySQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MySQL乱码;
  ◆ MySQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成 ......

MySQL 5.0存储过程

首先看MySQL 5.0参考手册中关于创建存储过程的语法说明:
 
CREATE
    [DEFINER = { user | CURRENT_USER }]
    PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body
   
proc_parameter:
    ......

MySQL 字符串函数:字符串截取

 MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
1. 字符串截取:left(str, length)
mysql> select left('sqlstudy.com', 3);
+-------------------------+
| left('sq ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号