索引与视图
大家好,又见面了,我是你们的朋友全栈君。
1.单列索引与多列索引(联合索引/复合索引/组合索引)
一个多列索引可以认为是包含通过合并(concatenate)索引列值创建的值的一个排序数组。 当查询语句的条件中包含last_name 和 first_name时
SELECT * FROM test WHERE last_name=’Kun’ AND first_name=’Li’;
sql会先过滤出last_name符合条件的记录,在其基础上在过滤first_name符合条件的记录。那如果我们分别在last_name和first_name上创建两个列索引,mysql的处理方式就不一样了,它会选择一个最严格的索引来进行检索,可以理解为检索能力最强的那个索引来检索,另外一个利用不上了,这样效果就不如多列索引了。
多列建索引比对每个列分别建索引更有优势,因为索引建立得越多就越占磁盘空间,在更新数据的时候速度会更慢。
另外建立多列索引时,顺序也是需要注意的,应该将严格的索引放在前面,这样筛选的力度会更大,效率更高。
2.索引与视图
一、索引
索引是存放在模式(schema)中的一个数据库对象,索引的作用就是提高对表的检索查询速度,
索引是通过快速访问的方法来进行快速定位数据,从而减少了对磁盘的读写操作。
索引是数据库的一个对象,它不能独立存在,必须对某个表对象进行依赖。
提示:索引保存在information_schema数据库里的STATISTICS表中。
二、视图
视图就是一个表或多个表的查询结果,它是一张虚拟的表,因为它并不能存储数据。
视图的作用、优点:
限制对数据的访问
让复杂查询变得简单
提供数据的独立性
可以完成对相同数据的不同显示
注: oracle有物化视图 ,
SQL Server 有索引视图(跟oracle物化视图相似)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163020.html原文链接:https://javaforall.cn
相关文章
- mysql创建索引视图_mysql中创建视图、索引[通俗易懂]
- 【说站】python默认索引是什么
- SQLServer 错误 2511 表错误:对象 ID %d,索引 ID %d,分区 ID %I64d,分配单元 ID %I64d (类型为 %.*ls)。 页 %S_PGID,槽 %d 和 %d 中的键顺序不对。 故障 处理 修复 支持远程
- mysql常用函数与视图索引全面梳理
- MySQL事务视图索引备份和恢复概念介绍
- oracle数据库视图,序列,索引的sql语句查看详解数据库
- Redis实现二级索引提升数据处理效率(redis二级索引)
- MySQL索引和主键:提升查询性能的必备工具(mysql索引和主键)
- Oracle物化视图索引:高效查询缩短访问时间(oracle物化视图索引)
- 使用Oracle视图优化索引效率(oracle视图加索引)
- 基于Oracle视图建立有效索引(oracle视图建立索引)
- 建立Oracle视图上的索引(oracle视图建索引)
- MySQL简历索引的重要性探究(mysql简历索引)
- 优化数据库查询:oracle索引重构技巧(oracle索引重构)
- MySQL视图索引优化技巧(mysql视图的索引)
- MySQL索引:提高查询效率的不可或缺策略(mysql索引建立)
- 揭秘MySQL索引之缺点(MySQL索引缺点)
- 利用Oracle视图优化索引的使用(oracle视图使用索引)
- MySQL分区表加速索引查询优化(mysql分区索引)
- 限制之谜:探寻Oracle索引的奥秘(oracle索引限制)
- SQL Server双索引:优化索引查询性能(sqlserver双索引)
- MSSQL视图加索引实现效率提升(mssql 视图 加索引)
- MySQL引擎了解InnoDB和MyISAM索引(MySQL两种引擎索引)
- MySQL索引不宜贪多,建议慎重使用(mysql 不建议建索引)