最近遇到这么个问题

  • 表a : 歌单表 music_list
  • 表b : 歌曲详情表 music_detail

一个歌单对应多个歌曲详情,但在表的设计时,没有考虑到在 music_list 设置一个字段标记对应的 music_detail数据条数。在数据已经入库了之后,同事修改了功能需求。通过测试发现,如果每次使用的时候才在sql中统计歌单music_list 对应的歌曲详情music_detail 查询时间居然高达11秒。这显然是我们绝对不能接受的。

由于我们的数据量很大,第一次入库花了大约6个小时。修改入库代码显然也很麻烦。那么我就想能不能直接写一个SQL语句直接统计出结果呢。

实测以下SQL可行

UPDATE music_list l SET l.music_count = (SELECT COUNT(*) FROM music_detail m WHERE l.id = m.music_list_id); 

SQL 统计表 b 对应表a个数,并赋值给表a的一个字段相关推荐

  1. mysql创建表关联_MySQL创建高级联表教程

    #MYSQL#这是我第七篇MySQL教程,本篇主要介绍的是如何创建高级联表查询,主要包括使用表的别名,和自连接,外连接,和使用聚合函数连接,已经如何创建链接的条件.希望对你有所帮助. 在MySQL中除 ...

  2. MySQL的SQL 语句:根据从表记录个数对主表排序

    MySQL的SQL 语句:根据从表记录个数对主表排序 一个主表 news,有字段 nId(自动增长),sName.     记录:     10 name10     13 name13     20 ...

  3. php mssql统计表中的主键个数,MSSQL_SQL Server中统计每个表行数的快速方法,我们都知道用聚合函数count()可 - phpStudy...

    SQL Server中统计每个表行数的快速方法 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一 ...

  4. sql统计表总数以及表中字段总数

    sql统计表总数:select count() from sysobjects where type='U' 统计字段总数:select count() from syscolumns where i ...

  5. oracle+统计表的字段,统计系统中表的个数与查询所有表的字段信息-Oracle

    统计系统中表的个数与查询所有表的字段信息 –统计系统中表的个数: –表描述字段: –需要字段:Name.Code.Commente select lower(a.TABLE_NAME) || '-' ...

  6. SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、修改)

    SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELE ...

  7. mysql创建多表视图sql语句_SQL语法(包括建库、建表、建视图、查询、增加、删除、修改)...

    SQL语法(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE ...

  8. SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL

    一.WITH AS的含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候, ...

  9. Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

最新文章

  1. 《Delphi 算法与数据结构》学习与感悟[3]: 获取一个字节中非空位的个数
  2. 【Win8启动后自动进入传统桌面设置】
  3. 我理解的配置管理系统
  4. java 写入指定路径文件_java对指定目录下文件读写操作介绍 | 学步园
  5. 【转载】一起聊天的wz132
  6. 2011(信息学奥赛一本通-T1234)
  7. 20165309 实验三 敏捷开发与XP实践
  8. centos赋予访问权限
  9. 自定义简单控件之标题控件
  10. 使用AdventNet快速开发网管软件Agent端
  11. 一起寻找哪些免费小巧的 CAD文件查看和格式转换软件
  12. addClass()方法
  13. 随机森林 OOB理解
  14. java 线框图_你真的搞懂什么是线框图,什么是原型图了吗?
  15. java 正斜杠与反斜杠之分
  16. 微信小程序、uni-app使用iconfont-tools将iconfont彩色字体图标组件化并使用
  17. 少用的却实用的计算机知识
  18. 刘意-java基础视频(API-IO流)笔记(一)
  19. C51单片机各引脚功能
  20. Android HAL层浅析

热门文章

  1. Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类
  2. Java:log4j:WARN no appenders could be found for logger问题解决
  3. 在项目中增加task定时任务
  4. express 配置支持https
  5. 【转载】OI生涯结束……在逸夫楼那些的日子里
  6. parseInt(),parseFloat(),parse()
  7. C#命令行编辑器csc.exe
  8. C# async await 学习笔记1
  9. php获取上传多个文件缺失
  10. 三十九、Android原理 不需要关闭后台运行程序