php – 持久连接:MySQL FOUND_ROWS()结果
发布时间:2020-12-13 16:47:06 所属栏目:PHP教程 来源:网络整理
导读:作为背景知识,在 MySQL中,使用SQL_CALC_FOUND_ROWS标志和FOUND_ROWS()函数,MySQL允许您检索如果SELECT没有使用LIMIT将返回的总行数,而不需要发出第二个重查询: $query = "SELECT SQL_CALC_FOUND_ROWS * from movies WHERE.... LIMIT 20";$res1 = $db-query(
作为背景知识,在
MySQL中,使用SQL_CALC_FOUND_ROWS标志和FOUND_ROWS()函数,MySQL允许您检索如果SELECT没有使用LIMIT将返回的总行数,而不需要发出第二个重查询:
$query = "SELECT SQL_CALC_FOUND_ROWS * from movies WHERE.... LIMIT 20"; $res1 = $db->query($query); $numrows = $db->query('SELECT FOUND_ROWS()')->fetchColumn(); 这对于分页很有用.假设您正在使用持久连接: try{ $db = new PDO('mysql:host=localhost;dbname=' . $dbname,$user,$pass,array( PDO::ATTR_PERSISTENT => true ) ); etc. 如果两个用户几乎同时点击,那么请求是否可以跨越路径并且可以获得另一个请求的数据? 解决方法
不,这不是问题.
就您的PHP页面而言,它在页面持续时间内具有自己的唯一连接.与非持久连接的持久连接的唯一区别是,在页面退出后,连接不会被拆除,而是放回池中以便移交到其他页面.换句话说,它不是共享连接,而是重用连接.如果有35个页面同时为页面请求提供服务,则仍会有35个同时连接到您的数据库. 但是,您必须小心传播连接状态(例如未完成的事务),但这是一个单独的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |