ORM (对象关系映射)

什么是ORM对象关系映射,有时候会问英文全称是什么(Object Relational Mapping) ,对于ORM的看法?(看学习细不细,有没有技术判断,php开发人员应该知道什么时候使用ORM)看法:框架都是使用的到 把sql转换成面向对象的形式 相当于封装成一个方法类如update(), save(),find()……

优点

大大缩短了程序员的编码时间,减少甚至免除了对Model的编码

良好的数据库操作接口,使编码难度降低,使团队成员的代码变得简洁易读、风格统一

动态的数据表映射,在数据表结构甚至数据库发生改变时,减少了相应的代码修改

减少了程序员对数据库的学习成本

可以很方便地引入数据缓存之类的附加功能

但是ORM并不是一个完美的东西,它同时也有其自身不可避免的缺点:

 

 自动化进行关系数据库的映射需要消耗系统性能。其实这里的性能消耗还好啦,一般来说都可以忽略之,特别是有cacha存在的时候

 

在处理多表联查、where条件复杂之类的查询时,ORM的语法会变得复杂且猥琐

 

越是功能强大的ORM越是消耗内存,因为一个ORM Object会带有很多成员变量和成员函数。有一次修复bug时就遇见,使用ORM查询的时候会占用12MB的内存,而使用SQL的查询时只占用了1.7MB……

posted @ 2017-05-25 15:20  小耳朵李文文  阅读(223)  评论(0编辑  收藏  举报