MySQL中的INDEX和VIEW有什么区别

Ash*_*ngh 5 mysql sql database indexing view

哪一个是快速的索引或视图都用于优化目的两者都在表的列上实现,所以任何一个解释哪一个更快,它们之间有什么区别以及我们使用视图和索引的场景.

Nis*_*hia 11

视图

  • View是一个逻辑表.它是一个逻辑上存储数据的物理对象.View仅引用基表中的数据.
  • 视图是一个逻辑实体.它是存储在系统表空间的数据库中的SQL语句.视图的数据构建在TEMP表空间中的数据库引擎创建的表中.

指数

  • 索引是映射到数据物理地址的pointres.因此通过使用索引,数据操作变得更快.
  • 索引是一种允许更快地检索记录的性能调整方法.索引为索引列中显示的每个值创建一个条目.

类比:

假设在商店里,假设你有多个货架.根据保存的项目对每个机架进行分类就像创建索引一样.因此,您可以知道找到特定项目的确切位置.这是索引.

在同一个商店中,您希望将多个数据(例如,产品,库存,销售数据和内容)作为合并报告进行了解,然后将其与视图进行比较.

希望这个类比解释当你必须使用视图和何时必须使用索引时!


Ank*_*pai 5

从 SQL 的角度来看,两者都是不同的东西。

视图

视图只不过是存储在数据库中并具有关联名称的 SQL 语句。视图实际上是预定义 SQL 查询形式的表的组合。视图是一种虚拟表,允许用户执行以下操作:

  • 视图可以包含表的所有行或从表中选择行。可以从一个或多个表创建视图,这取决于编写的 SQL 查询来创建视图。
  • 以用户或用户类别认为自然或直观的方式构建数据。
  • 限制对数据的访问,以便用户可以查看和(有时)修改他们需要的内容,而不是更多。
  • 汇总可用于生成报告的各种表格中的数据。

索引

索引是数据库搜索引擎可以用来加速数据检索的特殊查找表。简单地说,索引是指向表中数据的指针。数据库中的索引与书后的索引非常相似。

例如,如果您想参考一本书中讨论某个主题的所有页面,您首先参考索引,该索引按字母顺序列出所有主题,然后参考一个或多个特定页码。

索引有助于加快 SELECT 查询和 WHERE 子句的速度,但它会减慢数据输入,使用 UPDATE 和 INSERT 语句。可以在不影响数据的情况下创建或删除索引。