【发布时间】:2016-02-29 04:22:04
【问题描述】:
在学说中的“选择”语句中使用 DQL 与原生 sql 有什么好处?
例如
$qb = $em->getRepository('repositoryname')->createQueryBuilder('r);
$qb->someDqlCondition();
$qb->getQuery()->getResult();
对
$sql = 'string with SELECT sql statement'
$query = $em->->createQuery($sql)
$query->getResult();
我和同事讨论过,他说原生 sql 更好。 我认为 dql 使我们能够更改数据库驱动程序。使用 dql 还有其他好处吗?性能怎么样?
【问题讨论】:
-
DQL 在数据库而不是原生 sql 之间更具可移植性
-
另外,如果你使用查询缓存,性能不是问题,它节省了 SQL 和 DQL 之间的转换
标签: symfony doctrine-orm doctrine