云数据库 GAUSSDB(FOR MYSQL)-distinct与group by优化:原因分析
时间:2024-09-11 14:20:03
原因分析
大部分情况下,distinct是可以转化成等价的group by语句。在MySQL中,distinct关键字的主要作用就是去重过滤。
distinct进行去重的原理是先进行分组操作,然后从每组数据中取一条返回给客户端,分组时有两种场景:
- distinct的字段全部包含于同一索引:该场景下MySQL直接使用索引对数据进行分组,然后从每组数据中取一条数据返回。
- distinct字段未全部包含于索引:该场景下索引不能满足去重分组需要,会用到临时表(首先将满足条件的数据写入临时表中,然后在临时表中对数据进行分组,返回合适的数据)。因为使用临时表会带来额外的开销,所以一般情况下性能会较差。
综上,在使用distinct或group by的时候,尽量在合理的情况下设置可以包含所有依赖字段的索引,优化示例:
support.huaweicloud.com/trouble-gaussdbformysql/gaussdbformysql_trouble_0210.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- 云数据库 GaussDB(for MySQL)与RDS for MySQL的区别
- GaussDB查询表结构_通配符字段查询表_高斯数据库查询表结构-华为云
- GaussDB(for MySQL)规格变更_包周期库扩容_变更CPU_存储扩容
- 云数据库GaussDB(for MySQL)_兼容MySQL
- GaussDB列转行_gaussdb是关系型数据库吗_高斯数据库列转行_华为云
- GaussDB行转列_数据中台架构pdf_高斯数据库行转列_华为云
- 云数据库 GaussDB(for MySQL)与华为云其他服务的关系
- .group域名注册_如何注册.group域名
- GaussDB内存_云数据库GaussDB内存_高斯数据库内存-华为云