sql - MySQL View - 何时使用和何时不使用

标签 sql mysql views

mysql 认证指南建议 View 可用于:

  • 创建可能涉及计算的摘要
  • 使用 WHERE 子句选择一组行,隐藏无关信息
  • 加入或联合的结果
  • 允许通过保留原始表架构以适应其他应用程序的 View 对基表进行更改

但来自 how to implement search for 2 different table data?

And maybe you're right that it doesn't work since mysql views are not good friends with indexing. But still. Is there anything to search for in the shops table?

我了解到 View 不能很好地使用索引,所以它会不会对性能造成很大影响,因为它可能提供方便?

最佳答案

View 可以简单地认为是永久存储在服务器上的 SQL 查询。将使用查询优化到的任何索引。从这个意义上讲,SQL 查询或 View 之间没有区别。它不会比实际的 SQL 查询对性能产生更大的负面影响。如果有的话,因为它存储在服务器上,并且不需要在运行时进行评估,所以它实际上更快。

它确实为您提供了这些额外的优势

  • 可重用性
  • 单一优化来源

关于sql - MySQL View - 何时使用和何时不使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483580/

相关文章:

sql - 如何传递参数进行查询?

sql - cume_dist vs percent_rank 或两者之间的差异

views - 何时使用数据库 View ,何时不使用?

Android OpenGL 扩展 GLSurfaceView 空指针异常

sql - 将表列中的 XML 分解为 SQL Server 中的 View

MySQL - 查询以获取特定字符为非英语的所有行

c# - 如何使用 linq to sql 一次更新多行?

mysql命令行访问被拒绝错误1045

php - 如何通过 PHP 创建 PDF,其中数据是从 MySQL 收集的,并且是富文本格式

MySQL 插入后选择