AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 47739
Accepted
LOSTinDB
LOSTinDB
Asked: 2013-08-08 10:32:25 +0800 CST2013-08-08 10:32:25 +0800 CST 2013-08-08 10:32:25 +0800 CST

为什么在视图中设置静态数据而不是在 mysql 中使用表?

  • 772

我每晚都会收到一个 LDAP 提要。我将它作为文本文件获取并转储/创建我的 LDAPALL 表。大约有 75,000 名员工乘以大约 50 个领域。

我也有以下几点:

LDAPIMPORTANT - 存储所有 75K 但仅 15 个字段的视图

LDAPSHORT - 存储所有 75k 但 5 个字段的视图

LDAPAB - 仅基于两个组存储 9k 名员工的视图(字段查找)

这些中的每一个都被大量使用并用于不同的应用程序,并且针对这些视图编写了很多视图。但是他们没有更新。我们不更新员工数据。它只是每晚一次的 LDAPALL 更新。

在这种情况下,我应该从 LDAPALL 表而不是视图创建表吗?我可以设置工作以每晚创建一次这些表。这背后的最佳实践是什么?用外行的话来说,因为我是一名 PHP 开发人员,专门从事所有数据库管理工作。

best-practices mysql-5.5
  • 3 3 个回答
  • 1800 Views

3 个回答

  • Voted
  1. Cade Roux
    2013-08-08T10:54:51+08:002013-08-08T10:54:51+08:00

    如果它们执行,我会简单地使用视图。无需不必要地复制数据,许多数据库平台允许索引或物化视图和过滤视图等。

    但是,MySQL 不支持索引视图。因此,除非您的表上的底层索引支持您访问数据的各种方式,否则可能值得您自己实现视图的一个版本。

    • 4
  2. Walter Mitty
    2013-08-08T11:45:40+08:002013-08-08T11:45:40+08:00

    用包含相同数据(现在重复)的表替换视图的概念称为物化视图。
    您的问题的答案可能在这里

    • 3
  3. Best Answer
    LOSTinDB
    2013-08-19T10:35:16+08:002013-08-19T10:35:16+08:00

    我给物化视图+1。如果这是更实时的东西,那就是要走的路。但事实上,我每天只更新一次用户群,这只是大量的工作,却没有什么回报。

    我最终设置了一组查询,这些查询计划创建“子表”,我发现这比创建视图更有效。我们有大约 10 个支持一切的子表。其中大多数需要大约 2-4 秒来创建,并且它们在夜间分散超过 20 分钟。

    我们确实从这些子表中创建了很多视图,并且与从一张大表中创建大量视图相比,一切都运行得非常快——它只是有很多我们不需要/不需要的数据。

    • 0

相关问题

  • 具有用户、角色和权限的数据库模型

  • 识别孤立数据的最佳方式?

  • 如何管理我自己的脚本

  • Oracle 数据库的推荐 RAID 配置是什么?

  • 连接不同地理区域的数据库的最佳实践

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    授予用户对所有表的访问权限

    • 5 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve