• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql-MySQL两个表关联查询慢

mysql-MySQL两个表关联查询慢

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql等相关知识,希望本文的分享对您有所帮助
mysql

有A,B两个表,
A表是所有客户端的日志,数量在两百万
B表是客户端明细,数量在两万
现在需要筛选出符合某些条件的客户端的日志,SQL如下:

SELECT A.*FROM `VIEW_DATA.basic_LOG.20160523` AINNER JOIN (SELECT AGT_ID FROM VIEW_AGENT where AGT_GRP_ID in (999)) B ON A.`BAS_AGT_ID` = B.AGT_IDORDER BY `BAS_TIME` DESC, `ID` DESC LIMIT 7;

1 SIMPLE basic_log index IX_BASIC_LOG_BAS_AGT_ID IX_BASIC_LOG_BAS_TIME_ID 10 7 100 Using where
1 SIMPLE a eq_ref PRIMARY PRIMARY 4 ocular3_data.20160523.basic_log.BAS_AGT_ID 1 100
1 SIMPLE b eq_ref PRIMARY PRIMARY 4 ocular3.a.AGT_GRP_ID 1 100 Using where; Using index

回复内容:

1.将AGT_GRP_ID in (999)改为AGT_GRP_ID in =999;
2.在需要的字段建索引

参考自:
MySQL如何优化嵌套Join http://www.data.5helpyou.com/article272.html

两张表反过来写,然后把内链接改为外链接,将AGT_GRP_ID in (999)改为AGT_GRP_ID in =999;

SELECT A.*,B.AGT_ID
FROM VIEW_DATA.basic_LOG.20160523 A ,VIEW_AGENT B where B.AGT_GRP_ID=999 and A.BAS_AGT_ID = B.AGT_ID
ORDER BY A.BAS_TIME DESC, A.ID DESC LIMIT 7; 你改成这样试试

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-12-05Visual Studio2017数据库架构介绍
  • 2018-12-05关于mysql操作sql的小技巧
  • 2018-12-05sqlserver 临时表的用法
  • 2018-12-05可以改善mysql性能的InnoDB配置参数
  • 2018-12-05MySQL Internals Optimizer
  • 2017-05-11mysql 初始执行文件的使用介绍
  • 2017-05-11mysql中取字符串中的数字的语句
  • 2017-05-11mySQL UNION运算符的默认规则研究
  • 2017-05-11mysql中You can’t specify target table for update in FROM clause错误解决方法
  • 2018-12-05全文本检索的应用(2)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Oracle Form中COMMIT的概述及使用技巧
    • MySQL之—RPM方式安装MySQL5.6 代码实例详解
    • Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)
    • mysqld_safe启动脚本源码阅读、分析
    • 具有负载均衡功能的MySQL服务器集群部署及实现
    • MySQL安全性指南(3)(转)
    • MySQL双Master配置的方法详解
    • 详解MySQL数据库中有关source命令
    • Oracle Table Demo语句应用介绍
    • Oracle数据库的空间管理技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有