虽 然Yii DAO可以处理事实上任何数据库相关的任务,但很可能我们会花费90%的时间 用来编写一些通用的SQL语句来执行CRUD操作(创建,读取,更新和删除)。 同时我们也很难维护这些PHP和SQL语句混合的代码。要解决这些问题,我们可以使用Active Record。
Active Record(AR)是一种流行的对象关系映射(ORM)技术。每个AR类代表一个数据表(或视图),其字段作为AR类的属性,一个AR实例代表在表中的 一行。常见的CRUD操作被作为AR类的方法执行。 于是,我们可以使用更面向对象的方法处理我们的数据。
但是再处理的数据量较大时,AR占用内存量较大,容易造成内存溢出,用DAO更合适。个人理解。