mysql中怎么实现重复索引与冗余索引
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章将为大家详细讲解有关mysql中怎么实现重复索引与冗余索引,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。重复索引:表示一个列或者顺序相同的几个
千家信息网最后更新 2025年02月16日mysql中怎么实现重复索引与冗余索引
这篇文章将为大家详细讲解有关mysql中怎么实现重复索引与冗余索引,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
重复索引:表示一个列或者顺序相同的几个列上建立的多个索引。
冗余索引:两个索引所覆盖的列重叠
冗余索引在一些特殊的场景下使用到了索引覆盖,所以比较快。
场景
比如文章与标签表
+--+---+--+
| id | artid | tag |
+--+---+--+
| 1 | 1 | PHP |
| 2 | 1 | Linux |
| 3 | 2 | MySQl |
| 4 | 2 | Oracle |
+--+---+--+
在实际使用中, 有2种查询
artid-查询文章的-tag
tag-查询文章的 -artid
SQL语句:
select tag from t11 where artid=2;select artid from t11 where tag='PHP';
我们可以建立冗余索引,来达到索引覆盖的情况,这样的查询效率会比较高。
1、建立一个文章标签表
这个表中有两个索引,一个是at,一个是ta,两个索引都用到了artid和tag两个字段。
CREATE TABLE `t16` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `artid` int(10) unsigned NOT NULL DEFAULT '0', `tag` char(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `at` (`artid`,`tag`), KEY `ta` (`tag`,`artid`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
2、测试两条SQL语句
select artid from t11 where tag='PHP';
这条语句的查询分析中的Extra有Using index,表示此处用到了索引覆盖,使用索引覆盖后就不需要回行查询数据,这样的查询效率比较高。
select tag from t11 where artid = 1;
这条语句的查询分析中的Extra有Using index,表示此处用到了索引覆盖,使用索引覆盖后就不需要回行查询数据,这样的查询效率比较高。
关于mysql中怎么实现重复索引与冗余索引就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
索引
查询
文章
冗余
两个
语句
效率
内容
场景
数据
更多
标签
知识
篇文章
分析
不错
特殊
相同
多个
字段
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
校网络技术部外联部
数据库中时间格式
温州科技网络技术学院
专科网络技术
网络安全体系部分
设置代理服务器登录局域网
以国家网络安全为主题的板报
中小学网络安全心得体会
郑州2020网络安全
苏州程序软件开发哪家可靠
软件开发项目加班通知
广州视频安防软件开发解决方案
各大企业的数据库
杭州奶酪网络技术有限公司
全球服务器发电量
北京oa软件开发服务费
服务器账号密码忘了怎么找回
邮件中继服务器
菏泽有软件开发的学校吗
招商银行旗下软件开发公司
数据库表添加字段名
在程序中嵌入数据库
使命召唤16俄区无法连接服务器
天融信网络安全合肥
深圳大尚网络技术 拉勾
linux搭建游戏服务器
游戏软件开发市场
ftp上传文件到服务器端口
软件开发选择创业理由
网络安全工程师招