数据库访问 · 第 10 题,共 12 题
为了做概览,只需统计页面 12 上的条目数量。哪种实现最高效?
有 1 个正确答案。 中等
显示答案
答案
- D $qb->count('uid')->from('tx_myext_item')->where($qb->expr()->eq('pid', $qb->createNamedParameter(12, Connection::PARAM_INT)))->executeQuery()->fetchOne()
解析
count() 会把 SELECT 部分替换为 COUNT(),数据库只返回一个数字,由 fetchOne() 读取。加载所有行再在 PHP 中计数会耗费内存和时间。rowCount() 对 SELECT 并非在所有数据库系统上都可靠,而 select('COUNT(*)') 会把该表达式当作列名加引号。