【发布时间】:2014-08-03 13:44:33
【问题描述】:
Index 或 View 哪个快,两者都用于优化目的,两者都是在表的列上实现的,所以任何人都可以解释哪个更快,它们之间有什么区别,以及我们使用视图和索引的场景。
【问题讨论】:
-
它们完全不同。视图只是子查询的一种缩写方式。索引用于优化匹配的列数据。
标签: mysql sql database view indexing
Index 或 View 哪个快,两者都用于优化目的,两者都是在表的列上实现的,所以任何人都可以解释哪个更快,它们之间有什么区别,以及我们使用视图和索引的场景。
【问题讨论】:
标签: mysql sql database view indexing
查看:
1) 视图也是数据库对象之一。 视图包含基表的逻辑数据。其中基表具有实际数据(物理数据)。另一种说法是,视图就像一个窗口,通过它可以查看或更改表中的数据。
2) 它只是一个带有对象名称的存储 SQL 语句。它可以用于任何 SELECT 语句,如表。
索引:
1) 将在列上创建索引。使用索引可以快速完成行的获取。
2) 它是一种基于一列或多列对表信息进行分类的方法。一张表可能包含一个/多个索引。索引就像具有 ROWID 和索引列(有序)的二维结构。当基于该列(在 WHERE 子句中使用的 col.)检索表数据时,该索引自动进入图片,它的指针搜索所需的 ROWID。这些 ROWID 现在与实际表的 ROWID 匹配,并显示表中的记录。
【讨论】:
查看
索引
类比:
假设在一家商店,假设您有多个货架。根据保存的项目对每个机架进行分类就像创建索引一样。因此,您将知道在哪里寻找特定项目。这是索引。
在同一家商店,你想知道多个数据,比如产品、库存、销售数据和东西作为一个综合报告,然后可以将它比作一个视图。
希望这个类比能够解释何时必须使用视图以及何时必须使用索引!
【讨论】:
从 SQL 的角度来看,两者是不同的东西。
观看次数
视图只不过是存储在数据库中的具有关联名称的 SQL 语句。视图实际上是预定义 SQL 查询形式的表的组合。 视图是一种虚拟表,允许用户执行以下操作:
索引
虽然索引是数据库搜索引擎可以用来加速数据检索的特殊查找表。简单地说,索引是指向表中数据的指针。数据库中的索引与书后的索引非常相似。
例如,如果您想引用一本书中讨论某个主题的所有页面,您首先要引用索引,该索引按字母顺序列出所有主题,然后引用一个或多个特定页码。
索引有助于加快 SELECT 查询和 WHERE 子句的速度,但它会减慢数据输入,包括 UPDATE 和 INSERT 语句。可以在不影响数据的情况下创建或删除索引。
【讨论】: