Symfony 原则中的Dql选择与sql查询
与本机sql相比,在条令中的“select”语句中使用DQL有什么好处 e、 g vs 我和我的同事讨论了这个问题,他说原生sql更好。 我认为dql使我们能够更改数据库驱动程序。使用dql还有其他好处吗?性能如何?(DQL)就像是查询的抽象。这使得查询独立于构建项目的(SQL)数据库的版本或类型 从文件中: 您需要将DQL看作是对象模型的查询语言,而不是关系模式的查询语言 这也意味着(就像@Matteo在他的评论中所说的),你可以更容易地将你的项目移植到另一种类型上,而不必重写所有的查询Symfony 原则中的Dql选择与sql查询,symfony,doctrine-orm,doctrine,Symfony,Doctrine Orm,Doctrine,与本机sql相比,在条令中的“select”语句中使用DQL有什么好处 e、 g vs 我和我的同事讨论了这个问题,他说原生sql更好。 我认为dql使我们能够更改数据库驱动程序。使用dql还有其他好处吗?性能如何?(DQL)就像是查询的抽象。这使得查询独立于构建项目的(SQL)数据库的版本或类型 从文件中: 您需要将DQL看作是对象模型的查询语言,而不是关系模式的查询语言 这也意味着(就像@Matteo在他的评论中所说的),你可以更容易地将你的项目移植到另一种类型上,而不必重写所有的查询 使用
使用将这种抽象提升到了一个新的层次。DQL在数据库之间比本机SQL更具可移植性。此外,如果使用查询缓存,则性能不会有问题,因为它可以保存SQL和DQL之间的转换
$qb = $em->getRepository('repositoryname')->createQueryBuilder('r);
$qb->someDqlCondition();
$qb->getQuery()->getResult();
$sql = 'string with SELECT sql statement'
$query = $em->->createQuery($sql)
$query->getResult();