andy_tigger

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年3月9日

摘要: 由于项目设计里面,牵扯到了金钱的转移,于是就要用到MYSQL的事务处理,来保证一组处理结果的正确性。用了事务,就不可避免的要牺牲一部分速度,来保证数据的正确性。只有InnoDB支持事务事务ACIDAtomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)1、事务的原子性一组事务,要么成功;要么撤回。2、稳定性有非法数据(外键约束之类),事务撤回。3、隔离性事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。4、可靠性软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改 阅读全文
posted @ 2011-03-09 20:23 andy_tigger 阅读(321) 评论(0) 推荐(0) 编辑

摘要: InnoDB和MyISAM简介MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比B 阅读全文
posted @ 2011-03-09 20:22 andy_tigger 阅读(309) 评论(0) 推荐(0) 编辑

摘要: 症状:sqlserver 2005 数据库,将 中文字符 插入varchar 类型的列,然后查询会显示 ??? 之类的乱码。原因:是数据库的 排序规则 设置问题。解决办法:1.关闭所有与此数据库的相关连接或者会话或者相关程序2.然后将SQL_Latin1_General_CP1_CI_AS 修改为 Chinese_PRC_CI_AS (alter database db_name collate Chinese_PRC_CI_AS)3.将varchar类型修改为nvarchar 就没问题了。或者。如果表里面没有数据的话,把表结构重新建立,建表的时候需要注意不要带“SQL_Latin1_Gene 阅读全文
posted @ 2011-03-09 17:18 andy_tigger 阅读(863) 评论(0) 推荐(0) 编辑