云数据库 GAUSSDB(FOR MYSQL)-SQL使用规范:数据库索引设计规范
时间:2023-12-18 15:54:23
数据库索引设计规范
- 根据实际业务需求,减少使用无法利用索引优化的order by查询语句。Order by、group by、distinct这些语句较为耗费CPU资源。
- 涉及到复杂SQL语句时,优先参考已有索引进行设计,通过执行explain,查看执行计划,利用索引,增加更多查询限制条件。
- 使用新的SELECT、UPDATE、DELETE语句时,都需要通过explain查看执行计划中的索引使用情况,尽量避免extra列出现:Using File Sort,Using Temporary。当执行计划中扫描的行数超过1000时,需要评估是否允许上线。需每日进行慢日志统计分析,处理慢日志语句。
explain解读:
- type:ALL, index, range, ref, eq_ref, const, system, NULL(从左到右,性能从差到好)。
- possible_keys:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用。
- key:表示MySQL实际决定使用的键(索引),如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX 或者IGNORE INDEX。
- ref:哪些列或常量被用于查找索引列上的值。
- rows:根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数。
- Extra:
- Using temporary:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询。
- Using filesort:MySQL中无法利用索引完成的排序操作称为“文件排序”。
- Using index:表示使用索引,如果只有 Using index,说明没有查询到数据表,只用索引表即完成了这个查询,这种情况为覆盖索引。如果同时出现Using where,代表使用索引来查找读取记录, 也是可以用到索引的,但是需要查询到数据表。
- Using where:表示条件查询,如果不读取表的所有数据,或不是仅仅通过索引就可以获取所有需要的数据,则会出现 Using where。如果type列是ALL或index,而没有出现该信息,则你有可能在执行错误的查询,返回所有数据。
- 在WHERE条件列上使用函数,会导致索引失效。
示例:如 WHERE left(name, 5) = 'zhang',left函数会导致name上的索引失效。
修改方案:可在业务侧修改该条件,不使用函数。当返回结果集较小时,业务侧过滤满足条件的行。
support.huaweicloud.com/usermanual-gaussdbformysql/gaussdbformysql_05_0105.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- 云数据库GaussDB(for MySQL)_兼容MySQL
- GaussDB如何建主键_数据库索引设计规范_高斯数据库如何建主键-华为云
- 云数据库 GaussDB(for MySQL)与RDS for MySQL的区别
- 连接GaussDB(for MySQL)数据库_华为云数据库GaussDB(for MySQL)_数据库连接
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库
- 云数据库GaussDB(for MySQL)_云数据库_分布式数据库
- GaussDB索引_GaussDB数据库索引_高斯数据库索引_华为云
- 免费mysql云数据库
- 免费mysql云数据库
- GaussDB原理_GaussDB数据库原理_高斯数据库原理-华为云