蒙在股里 发表于 2015-1-16 22:18:28

MYSQL网页编程之MySQL 4.0 晋级到5.0

由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。  因为必要,从4.0间接晋级到5.0,检察了一下changelog,发明次要有以下变更:
  1、从4.0到4.1的次要变更
假如在4.1.0到4.1.3版本的MySQL中创立了包括TIMESTAMP字段的InnoDB  表。则在晋级到4.1.4及更高时必要重修表,由于存储格局产生变更了字符串依据尺度SQL来对照:对照之前不删除开端的空格,之前用开端空格扩大了对照短的字符串。如今的了局是
  a>a  ,之前则不如许。能够用mysqlcheck来反省一下数据表TIMESTAMP前往YYYY-MM-DDHH:MM:SS格局的字符串。在MySQL
  4.0中,能够增添选项--new来取得MySQL4.1中这方面的特征在MySQL
  4.1.1前,语句剖析器不是那末严厉,它在处置字符串转工夫转换时会疏忽第一个数字前的其他字符。在4.1.1以后,就对照严厉了前往了局是DATE,DATETIME,或TIME范例的函数的了局会被转换成工夫型
  2、再看从4.1到5.0的次要变更
InnoDB和MyISAM表中空格开头的TEXT字段索引按次改动了。因而必要运转  "CHECKTABLE"语句修单数据表,假如呈现毛病,就运转"OPTIMIZETABLE"或"REPAIR
  TABLE"语句修复,乃至从头转储(用mysqldump)MySQL5.0.15入手下手,怎样处置BINARY字段中添补的值已改动了。添补的值如今是
  0x00而非空格了,而且在取值的时分不会往除开端的空格从MySQL5.0.3入手下手,DECIMAL的完成体例已改动了,5.0对DECIMAL
  的格局限定严厉多了在MySQL5.0.3到5.0.5之间版本的MyISAM和InnoDB表中创立的DECIMAL
  字段晋级到5.0.6以后会产生溃散在之前,守候超时的锁会招致InnoDB
  回滚以后全体事件,从5.0.13入手下手,就只回滚比来的SQL语句了在4.1.13/5.0.8之前,DATETIME的加0后就转换成YYYYMMDDHHMMSS格局,如今酿成
  YYYYMMDDHHMMSS.000000格局了从5.0.3入手下手,DECIMAL用更无效的格局来存储5.0.3入手下手,在盘算DECIMAL值和舍进准确值的时分接纳准确数学4.1中,FLOAT或DOUBLE之间的对照可巧没成绩,但在5.0中大概就不可了从5.0.3入手下手,VARCHAR和VARBINARY字段中开端的空格不再删除增添了一个新的启动选项innodb_table_locks,它招致LOCKTABLE时也能够哀求
  InnoDB表锁。这个选项默许翻开,不外大概在AUTOCOMMIT=1和LOCKTABLES
  使用中会招致逝世锁
  看来,我只需次要存眷工夫(
  TIMESTAMP,DATETIME<DATE,TIME
)和  数值型(
  FLOAD,DOUBLE,DECIMAL
)这两品种型的变更;别的,我晋级过程当中临时还不必要触及到字符集成绩,因而绝对轻松一些。  晋级步骤以下:
实行FLUSHTABLESWITHREADLOCK;  间接拷贝MyISAM表文件
用  mysqldump
导出Innodb范例的表  全部历程都很顺遂,新体系启动以后,发明以下2个成绩:
新增了关头字  INOUT
,因而必要反省表布局中另有其他甚么字段利用关头字了  DATE_FORMAT
函数请求松散多了,DATE_FORMAT(2006/11/2409:14:00,%Y-%m-%d%T)  和
DATE_FORMAT(2006/11/2409:14:00,%Y-%m-%d%T)  的了局完整纷歧样,在4.0中,能兼容这两种格局,而在5.0中,只能准确的利用前者了,后者则会有成绩。这也应当是下面提到的工夫范例产生的变更而至。
  到此为止,晋级基础停止,大抵反省了
  DECIMAL
范例也没成绩,剩下的就是反省其他的了人们常说“成功孕育成功”,这种说法明显非常适合MySQL的情况。MySQL学习教程这个开源数据库号称在全世界有超过110万份的完全安装。

飘飘悠悠 发表于 2015-1-19 07:45:23

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

小女巫 发表于 2015-1-24 20:10:33

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

只想知道 发表于 2015-2-2 13:14:14

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西

简单生活 发表于 2015-2-7 21:14:16

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

分手快乐 发表于 2015-2-23 11:09:51

对于微软系列的东西除了一遍遍尝试还真没有太好的办法

变相怪杰 发表于 2015-3-7 08:44:11

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

透明 发表于 2015-3-14 16:24:37

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

若相依 发表于 2015-3-21 13:11:56

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
页: [1]
查看完整版本: MYSQL网页编程之MySQL 4.0 晋级到5.0