首页 > 数据库 >MySQL Group by 优化查询

MySQL Group by 优化查询

时间:2023-11-25 12:33:09浏览次数:47  
标签:中文 Group Chinese sloven 查询 索引 MySQL

  translator

  Double-click Select to translate   translator   Double-click Select to translate  

Group by 未加索引

  • 使用的是临时表,加文件排序(数据量小用内存排序)

加个索引(一般是联合索引)

  • 注意:这里加的索引一般不会仅仅是group by后面的字段索引(大多数多少条件是一个以该字段开头联合索引,方便使用覆盖索引或者索引下推)。如果该字段是一个varchar类型,最好加个int冗余字段,建立索引的字段,性能更高。
  • 以该字段为条件的B+树自动排序,所以就会导致避免了排序和临时表这个过程,查询性能更快。

加了索引还是慢(查询结果的数据量太大)?

在读多写少场景:

1. 加个查询条件的统计表(Group by, order by 还是 count查询性能都不会太差)!!!!

2. 每次关联的表发生变化,就更新统计表。

3. 为了性能同时可以用缓存或者ES通过订阅同步该统计表。

 

标签:中文,Group,Chinese,sloven,查询,索引,MySQL
From: https://www.cnblogs.com/black-joker/p/17841986.html

相关文章

  • In 查询及其优化
     translatorAfrikaansAlbanian-shqipeArabic-‎‫العربية‬‎Armenian-ՀայերէնAzerbaijani-azərbaycancaBasque-euskaraBelarusian-беларускаяBengali-বাংলাBulgarian-българскиCatalan-catalàChi......
  • QueryBuilder写influxdb查询语句
    1.demo//按小时和指定字段获取每小时中的最大值SelectQueryImplselectQuery=select().max("horiValue").as("horiValue").max("vertValue").as("vertValue").from("jsnl","sta......
  • Vue element 关于下拉框输入模糊查询
    最近又一个新的需求,在输入框实现输入框下拉模糊查询开始对elementui还不熟悉,不知道怎么用,不过通过网上查阅资料发现使用<el-col:span="12"><el-autocompletev-model="form.name"......
  • 第八单元 嵌套查询
    什么时候要使用嵌套查询?学生信息表:学生编号姓名班级Id电话性别生日180325011任我行513823204456男1999-09-09180325012张三413823204452女1998-08-08180325013李四218899251152男1997-07-07180325014王五113597445645女1998-08-081803250......
  • 第七单元 条件查询,分组查询
    1.条件查询条件查询是通过where子句进行检索的查询方式。select字段名1,字段名2,…,字段名nfrom数据表名where查询条件 1.如何使用排序(升序,降序)?asc:表示升序(默认排序方式)desc:降序排序语法:select...from表名[条件]orderby要排序的字段asc/desc--将......
  • MySQL语法
    MySQL介绍数据库(DataBase,简称DB):据库是存放数据的仓库,它的存储空间很大,可以存放百万条、千万条、上亿条数据。因此,开发中只要涉及到数据,就一定会用到数据库;数据库管理系统(DataBaseManageSystem,简称DBMS):数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维......
  • 【Django基础】Mysql数据库连接配置
    Django支持MySQL5.7及以上版本。Django的inspectdb功能使用information_schema数据库,其中包含所有数据库架构的详细数据。Django希望数据库支持Unicode(UTF-8编码),并将执行事务和引用完整性的任务交给它。django连接MySQL数据库,需要安装第三方数据库mysqlclientpip......
  • MySQL 按时间段统计SQL
    按2小时段统计select*from(SELECTFLOOR(HOUR(dateTimeColumn)/2)*2ashour,count(id)asnumFROMtableNamegroupbyhour)tmporderbynum 按1小时段统计select*from(SELECTHOUR(dateTimeColumn)ashour,count(id)asnumFROMtableNamegroupby......
  • python mysql 文件数据入库
    概述使用python读取数据文件(本文用的csv),处理后批量插入MySQL数据库中,在此做个记录。程序importpandasaspdfromdatetimeimportdatetimeimportpymysql#GLBS_real_power_mv_no=1000001real_power_file_file_path='./GLBS__DATA.csv'#mysqlmysql_host='127.0......
  • MySQL_索引
    索引的分类按数据结构:B+树,Hash,Full-text。按物理存储:聚簇(主键),二级(辅助)。字段特性:主键,唯一,普通,前缀。字段个数:单列,联合。按数据结构-B+树索引除此之外还有:Hash,Full-text回表:要查找2个B+树才能找到数据(二级索引-得到主键值-主键索引-得到数据)。覆盖索引:在二级索引的B+树......