Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80063
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-02 20:25
文章分类

全部博文(31)

文章存档

2015年(2)

2014年(29)

我的朋友

发布时间:2014-08-29 17:44:56

1. innodb支持事务,myisam不支持2. 采用MVCC实现3. commit将操作写入日志文件(磁盘IO)来保证持久性(D)4. 预写式日志(WAL)保证原子性(A)5. MVCC(多版本并发控制)+GAP(位置锁)实现隔离性(I)6. 一致性(C)是?????,如何实现???7. 脏读:一个事务读到未提交的数据8. 不可重复读:一个事务两次相同的读操.........【阅读全文】

阅读(924) | 评论(0) | 转发(0)

发布时间:2014-08-27 20:48:58

     表设计是数据库优化中相当重要的一步,良好的表结构是后续优化的前提。表设计包括遵循NF,字段类型选择等。1. 通常要满足3NF,但为了性能可以打破这个规律,增加适当冗余。2. 1NF要求属性不可分割,这个概念模拟两可。可以认为所有的表都自动满足1NF,也可以认为某些表不符合1NF,角度不同而已。&.........【阅读全文】

阅读(894) | 评论(0) | 转发(0)

发布时间:2014-08-26 10:33:20

ex:person(id,fname,lname). name(fname+lname)一样算重复。1.  过滤重复数据        select distinct fname,lname from person;        select id,fname,lname from person group by fname,lname ;   都需要using temporary; .........【阅读全文】

阅读(740) | 评论(0) | 转发(0)

发布时间:2014-08-25 20:35:29

1. mysql是支持PreparedStatement的,只是默认使用JDBC时候,默认并不开启,需要在连接url中指定参数useServerPrepStmts.2.当开启useServerPrepStmts性能显著下降,这是因为mysql的preparedstatement是会话级别的,导致共享度不高。3.指定cachePrepStmts=true后可实现类似于oracle中preparedstatement的效果,但对性能提.........【阅读全文】

阅读(803) | 评论(0) | 转发(0)

发布时间:2014-08-25 19:46:14

1. 排序是个费时的操作,所以能避免的尽量避免2. 索引自身是有序的,如果按索引查询数据,并且order by列为该索引的话,则结果不需要排序3. 在非聚集索引下,优化器可能会选择全表扫描,从而导致结果需要排序。此时可选择force index。或者对select后面的字段建立覆盖索引避免全表扫描。4. 如果order by后面出现多个索引.........【阅读全文】

阅读(754) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册