mysql join查询,并统计数量

mysql join查询,并统计数量,第1张

1、打开终端窗口,登录mysql。mysql -uroot -p。

2、SHOW DATABASESUSE testdb这个时候切换到相应的数据库。

3、SHOW TABLESINSERT INTO branch VALUES(6, 'BB', NULL, NULL)SELECT * FROM branch比如我们为branch这个表插入数据。

4、SELECT employee.emp_id, employee.first_name, branch.branch_nameFROM employee JOIN branch ON employee.emp_id = branch.mgr_id这个时候进行一下数据的联合,用JOIN。

SELECT DATE_FORMAT(reg_time,'%Y-%m'),COUNT(*) FROM user_table GROUP BY DATE_FORMAT(reg_time,'%Y-%m') -- 按月统计,user_table注册表名,reg_time注册时间

统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。

非持久化统计信息

统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;

每次对表的访问都会重新计算其统计信息;

假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。

持久化统计信息

把一张表在某一时刻的统计信息值保存在磁盘上;

避免每次查询时重新计算;

如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;

即使 MySQL 服务重启,也可以快速的获取统计信息值;

统计信息的持久化可以针对全局设置也可以针对单表设置。

接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8307930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存