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 表 请教怎么优化这个SQL 提问,mysql中--log-bin类型的日志能否将使用某条语句的mysql用户名打印出来 在建表时,有些哪些会明显影响表效率的注意地方? Order By 能按实例的子变量排序吗 mysql中,500万行记录,每隔100条抽一条记录,求一条高效sql,谢谢 小妹求救:jsp与MySQL数据库的图片显示问题。谢谢! 一个删除语句如何保留固定的行数 mysql的jdbc连接中,那些参数各有什么用? 有30G的数据,怎么从mysql5.5升级到mysql5.6 SQL语句where in的问题 如果删除与外键关联的主键呢? 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 表