select count(1) from B b inner join A a on a.id = b.personid where b.code like '32%'

这样试试呢######select count(1) from B b inner join A a on a.id = b.personid where b.code in(select code from xxx ); 这样 先把江苏的code查出来,用in试试######看看!######效果一般。。。还是十几秒######为啥要关联A表? ######回复

@huan : 走了索引,然而还是很慢。。。感觉有点无解######回复

@程序员Joe : 两个表的关联查询很简单,看看有没有走索引。除非改动表结构,否则再优化的空间很小。######我可能会加a表字段的一些查询条件,姓名年龄什么的######使用like语句就没有使用索引了。######回复

@says : 关于mysql索引,尽量减少like,但不是绝对不可用。 xxx% 是可以用到索引的,但 %xxx 是失效的。除了like,以下操作符也可用到索引:,>=,BETWEEN,IN。<>,not in ,!=则不启用索引######不是吧!######b.code有建索引吗?######

select count(1) from B b inner join A a on a.id = b.

personid where left(b.code,2) = '32'######效果不明显######

select count(distinct B.perosnid) from B

left join (select id fromA) AA on AA.id = B.personid

where B.code like '32%'(比如查江苏省)

楼主你试试。这样应该快很多。

还有一种方式,如果表数据特别多。建议用union  按一个字段把表分区一样,然后用union

######木有卵用啊。。。感觉已经不是sql语句能优化的了的了######

SELECT COUNT(1) FROM B WHERE CODElike '32%'

--动态以下部分

ANDPERSOINIDIN (SELECT ID FROM A WHEREXXX)

动态一下试试吧 由于A->B是一对多 那么B其实就是所有的数据 只是由于查询需要A的参数 所以要关联到A 但是如果没有A的参数 其实直接查B就可以了 对不?

特殊情况特殊处理一下吧

######表分区呢######百万级的数据就分区了,我感觉有点扯啊######如果你要查询江苏全省的记录数,先把江苏区域编码整理出来用in在B表查询出

PERSOINID导入内存表,然后内存表全表和A表关联,看看性能是不是会好点。######

1.建议把code 分成多个字段,并加上索引. 别用like,

2.如果不join A表快的话,每页都单独取A的记录.

mysql count join速度慢_MySql两张百万级表关联的count效率求解? 400 报错-问答-阿里云开发者社区-阿里云...相关推荐

  1. mysql查询关键字报错_mysql中in关键字查询时的问题? 400 报错-问答-阿里云开发者社区-阿里云...

    之前也遇到过类似的问题,就是in关键字指定的范围没有数据,会出错######改用exists呢######不行######用join 链接查询过滤一下算了######我是这么做了,但是现在我就想知道, ...

  2. mysql cluster 宕机 恢复_mysql cluster 集群恢复不起来,还请大神赐教?报错-问答-阿里云开发者社区-阿里云...

    mysql cluster 集群原本使用的几乎全是内存表,后来随着数据的增长,把大的内存表迁移到磁盘表了,之后集群出现6050错误,整个集群挂掉:之后重新启动集群一直启动不起来... ----以下是集 ...

  3. mysql 繁体_mysql 插入繁体字报错?报错-问答-阿里云开发者社区-阿里云

    mysql 插入繁体字报错?报错 爱吃鱼的程序员 2020-06-22 14:09:16 87 @jfinal程序插入繁体字mysql的时候报错,数据库设置了utf8,但是依然报错,数据库,表,字段, ...

  4. bae 3.0 mysql_bae3.0 mysql 有时报错?报错-问答-阿里云开发者社区-阿里云

    Jfinal 用的MySQL的数据源:MysqlDataSource ds = new MysqlDataSource(); Config: MysqlDataSource ds = new Mysq ...

  5. mac mysql 报错_mac os mysql 配置?报错-问答-阿里云开发者社区-阿里云

    配置mysql appledeMacBook-Pro-2:~ apple$ /usr/local/mysql-5.7.15-osx10.11-x86_64/bin/mysqladmin -u root ...

  6. mysql大表join小表速度很慢_mysql多表join中,为什么子查询会那么慢,怎么解决-问答-阿里云开发者社区-阿里云...

    下面的sql执行后cpu100%,但是这三张join的表数据量都在2W左右,不应该啊,是不是数据库服务器配置出了问题啊.sql如下:select a.excel_id, a.rpt_id, a.acc ...

  7. mysql总是出现-_mysql 总是莫名其妙的关闭:报错 -问答-阿里云开发者社区-阿里云...

    CentOS MYSQL 5.6不知道为什么,MYSQL总是莫名其妙的被关闭,然后网页提示 Connect Error (1045)Access denied for user 'root'@'172 ...

  8. mysql批量插入跟更新_Mysql批量插入和更新的性能-问答-阿里云开发者社区-阿里云...

    利用Hibernate,连接池使用的是BoneCP,做了一个MySql批量插入和批量更新的Demo,出现了下面两个问题. 1.批量插入.我采用的是原生态的JDBC,每次批量插入60条数据左右(数据量不 ...

  9. mysql hang住_mysql 5.7不定期的hang住重启-问答-阿里云开发者社区-阿里云

    线上一台mysql 5.7.17版本实例,系统centos 6.4 ,96G内存,SSD磁盘,buffer pool 60G,buffer pool instance 8,24 CPU.实例访问情况如 ...

最新文章

  1. 主要操作系统体系结构
  2. 第四范式获2021德国红点设计奖,继iF奖后再获设计界最高奖项
  3. Django框架(展示图书信息简易版)
  4. 信息学奥赛一本通(1409:判决素数个数)
  5. 零基础转行学习python是否还在纠结?这里告诉你答案!
  6. more than one device and emulator
  7. 【瑕疵检测】基于matlab Gabor滤波布匹瑕疵检测【含Matlab源码 407期】
  8. 软件oem要注意什么_软件开发需要注意什么
  9. 管理信息系统(学习笔记)
  10. 苹果手机Windows平台投屏神器airplayer,方便的使用苹果手机投屏演示
  11. 手机logging什么意思_手机logging怎么关闭
  12. BIMC品牌整合营销:电子商务外包是中小企业未来发展方向
  13. TextView的setBounds()方法
  14. 【VUE项目实战】68、使用pm2管理项目
  15. MySQL之MHA高可用配置及故障切换实例
  16. hashmap底层逻辑
  17. 魔兽任务分类及游戏任务系统设计启示
  18. Python写个小游戏:速算24点(下)
  19. 迅雷,电驴通过利用URL Protocol实现网页调用本地应用程序
  20. 程序员都看不懂的代码

热门文章

  1. 例16:最大公约数和最小公倍数。
  2. 领夹直播麦克风常规的使用方法及方案说明
  3. 基于Java的超市收银管理系统
  4. Web报表系统葡萄城报表:B/S 报表软件
  5. 如何在路由器里设置L2TP和PPTP拨号?飞速云科技
  6. 物理隔离卡,双网通用安装
  7. mysql启动命令窗口闪退问题
  8. 如何在Libgdx中使用ValueAnimator
  9. fastdfs外网上传不了文件的解决方案
  10. 深度学习(Deep Learning)从零基础达到入门级水平