面试官本想拿一道求素数搞我
|
应用系统分层架构,为了加速数据访问,会把最常访问的数据,放在缓存(cache)里,避免每次都去访问数据库。操作系统,会有缓冲池(buffer pool)机制,避免每次访问磁盘,以加速数据的访问。MySQL作为一个存储系统,同样具有缓冲池(buffer pool)机制,以避免每次查询数据都进行磁盘IO,主要作用: 1、存在的意义是加速查询 2、缓冲池(buffer pool) 是一种常见的降低磁盘访问 的机制; 3、缓冲池通常以页(page 16K)为单位缓存数据; 4、缓冲池的常见管理算法是LRU,memcache,OS,InnoDB都使用了这种算法; 5、InnoDB对普通LRU进行了优化:将缓冲池分为老生代和新生代,入缓冲池的页,优先进入老生代,该页被访问,才进入新生代,以解决预读失效的问题页被访问。且在老生代停留时间超过配置阈值的,才进入新生代,以解决批量数据访问,大量热数据淘汰的问题 预读失效:
由于预读(Read-Ahead),提前把页放入了缓冲池,但最终MySQL并没有从页中读取数据,称为预读失效 大致意思就是说,已经存在了,即就是不能同时使用xml和注解。二者选其一。 xml可以喝注解结合使用,但是得保证同一个方法不能同时存在xml和注解。 建议 简单的sql处理可以使用注解,复杂的sql使用xml。但是实际工作还得看你待的项目中有没有对这个进行规范化。 在项目中无非就三种: 1.全部必须使用xml方式。 2.全部必须使用注解方式。 3.可以同时使用xml和注解。 高级映射 association
映射到JavaBean的某个复杂的”数据类型”属性,仅处理一对一的关联关系。 这样也就是在使用注解的时候,处理实体属性名和数据库表字段名不一样的问题的办法。 insert、update、delete同样也可以使用注解来搞定了。 @Insert、@Update、@Delete配上相应的SQL语句。
注解和xml是否可以共存? (编辑:柳州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


