mysql 获得表记录总数的效率问题 急急急 本人目前需要操作20W条的记录表,现目的是要获得这个表的记录总数,需要连表查询,有查询条件,执行速度超级慢,已经超过能等待极限了 求优化方法??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的语句是什么? 如果仅是 select count(*) from tableName 则不会慢的。建议贴出你的实际SQL语句及explain select ...show index from ...以供分析。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧) SQL 语句(个人修改一次了,原来没使用COUNT方法需要1分钟以上,目前需要2-3秒)$sql = 'select * from K1.A ';$sql .= 'JOIN K1.B ON K1.B.uid = K1.A.uid ';$sql .= 'JOIN K2.C ON K2.C.Uid = K1.A.uid ';$sql .= 'where `B`.`uTypeid` = 1 ';$sql .= 'ORDER BY A.uid DESC ';$number_sql = preg_replace('/\*/','COUNT(*) as number ',$sql);//echo $sql;//$query = $this->db->query($sql);$data['number'] = $this->db->query($number_sql)->row();$sql .= 'LIMIT 11 ';$query = $this->db->query($sql);表结构(K1,K2 表示两个数据库)A Auid -》 索引B uid -> 索引CUid -》索引 三者相同联系 贴出执行计划explain select ....show index from 表 mysql如何对存储过程加密 行转列时将某结果列变为字段 如何高效地查出重复订单? 问一个mysql的查询语句 查询id="100"的时候,不要查出id="1000";"1001"的数据。。。。[绝对匹配] 问一个比较简单的问题,如何安装Mysql 本人有mysql翻译成的中文件文档资料。有意愿者请50分开贴。拒绝灌水 哪儿有MySQL中SQL句法错误编号的索引? 连接查询和子查询嵌套谁的效率高? 嵌套查询和Having查询的速度比较 如果删除与外键关联的主键呢? mysql-proxy读写分离不起作用
建议贴出你的实际SQL语句及
explain select ...
show index from ...
以供分析。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
$sql .= 'JOIN K1.B ON K1.B.uid = K1.A.uid ';
$sql .= 'JOIN K2.C ON K2.C.Uid = K1.A.uid ';
$sql .= 'where `B`.`uTypeid` = 1 ';
$sql .= 'ORDER BY A.uid DESC ';
$number_sql = preg_replace('/\*/','COUNT(*) as number ',$sql);
//echo $sql;
//$query = $this->db->query($sql);
$data['number'] = $this->db->query($number_sql)->row();
$sql .= 'LIMIT 11 ';
$query = $this->db->query($sql);
表结构(K1,K2 表示两个数据库)
A
uid -》 索引
B
uid -> 索引
C
Uid -》索引
三者相同联系
show index from 表