`

MySQL的临时表和视图有什么优缺点吗

阅读更多

作者:知乎用户

链接:https://www.zhihu.com/question/21675233/answer/101170877

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

什么时候使用视图呢?

应用场景1:保密工作,比如有一个员工工资表,如果你只希望财务看到员工工资这个字段,而其他人不能看到工资字段,那就用一个视图,把工资这个敏感字段过滤掉

应用场景2:有一个查询语句非常复杂,大概有100行这么多,有时还想把这个巨大无比的select语句和其他表关联起来得到结果,写太多很麻烦,可以用一个视图来代替这100行的select语句,充当一个变量角色

 

什么时候用临时表呢?

应用场景1:你在短期内有很多DML操作,比如京东淘宝亚马逊的购物车表,把东西放购物车(insert),变更数量(update),删除商品(delete),一旦结算金钱后,这些数据就要清掉,这时需要用临时表

 

应用场景2:在导出数据时,你可能不想导完整的数据库,或者表,你可能只想要导出符合某些条件的数据,那么你可以创建临时表,把select语句插入到临时表,接着导出这个临时表,导完以后通过结束session或者事务的方式,让这些没用的数据自动清理掉

应用场景3:你在写存储过程时,有很多的连接,比如你需要连接A,B,C,D,E,F,G,H那么多张表,才能得到你的结果表,同时做连接的消耗太大,你可以先A,B,C连接的结果,放在临时表,接着再把这张临时表,跟D,E,F连接,作为新的结果放在临时表,接着再把临时表与G,H连接,最后得到临时表数据,一次插入到结果表(永久表)。答案:使用临时表,不用视图

分享到:
评论

相关推荐

    MYSQL

    10.2.3 调节服务器参数 10.2.4 MySQL 怎样打开和关闭数据库表 10.2.5 在同一个数据库中创建大量数据库表的缺点 10.2.6 为什么有这么多打开的表? 10.2.7 MySQL 怎样使用内存 10.2.8 MySQL ...

    MySQL中文参考手册.chm

    10.2.3 调节服务器参数 10.2.4 MySQL 怎样打开和关闭数据库表 10.2.5 在同一个数据库中创建大量数据库表的缺点 10.2.6 为什么有这么多打开的表? 10.2.7 MySQL 怎样使用内存 10.2.8 ...

    MySQL federated引擎 实现类似oracle dblink功能

    总结,MySQL的Federated引擎为跨服务器的数据访问提供了一个实用的解决方案,虽然有其限制,但在适当的应用场景下,它可以有效地提升数据处理的灵活性和效率。在部署和使用过程中,理解其工作原理和潜在限制是非常...

    高性能MySQL_第3版_中文版 800页

    存储引擎是MySQL的一大特色,例如InnoDB和MyISAM,它们各有优缺点,书中有详尽的分析和比较,帮助读者根据业务需求做出明智选择。 接着,书中深入讨论了SQL查询优化,这是提升数据库性能的关键。内容包括如何编写...

    MySQL中文参考手册

    o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 3.21 版本升级到 3.22 + 4.16.3 从一个 3.20 版本升级到 3.21 + 4.16.4 升级到其他的...

    MYSQL数据库高级应用宝典含实例(索引、视图、触发器、游标和存储过程)

    MYSQL 数据库高级应用宝典含实例(索引、视图、触发器、游标和存储过程) MYSQL 数据库高级应用宝典含实例中,涵盖了索引、视图、触发器、游标和存储过程等高级应用领域。下面我们将逐一介绍这些高级应用领域的知识点...

    mysql高级, 深入学习sql优化, mysql底层

    3. 减少子查询(Subqueries):子查询可能导致额外的表扫描和临时表的创建,尽量用JOIN操作替代子查询。 4. 使用EXPLAIN分析查询:EXPLAIN命令可以帮助分析查询执行计划,找出可能的性能瓶颈。 5. 使用合适的JOIN...

    MYSQL面试题.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之... - MySQL与NoSQL的比较:适用场景、优缺点。 掌握以上知识点,将有助于你在MySQL相关的面试中脱颖而出。记得理论结合实践,不断探索和优化MySQL在实际项目中的应用。

    2023最新MYSQL面试总结.doc

    能够深入理解存储引擎的优缺点、索引的工作原理、事务处理机制,以及如何创建和使用视图,以及主键和外键的作用,将有助于展示你在数据库管理方面的专业能力。同时,也要注意讨论 MySQL 的最新发展,如新的存储引擎...

    mysql进阶知识整合

    - **Memory**:数据存储在内存中,适用于临时表和缓存,使用哈希索引,数据结构存储在`.sdi`文件中。 5. **索引**:索引是提升数据检索速度的关键。常见的索引类型有B+Tree索引、Hash索引和全文索引。B+Tree索引是...

    mysql常用命令大全-最完整版

    - MySQL不支持事务、视图、外键和引用完整性、存储过程和触发器。 13. 索引使用与性能考量 - MySQL会使用索引进行`<, , >=, >, =, between, in`以及不带`%`或`_`开头的`like`查询。 - 使用索引有缺点:可能会...

    2021春招MySQL高频面试题.pdf

    什么是临时表,临时表什么时候删除? **临时表**:是在会话期间存在的表,仅供创建它的会话使用。会话结束时,临时表会被自动删除。 #### 11. 说说非关系型数据库和关系型数据库区别,优势比较? **区别**: - **...

    MySQL的面试题,共计20道题,主要是MySQL的面试

    10. **查询优化**:通过创建合适的索引、减少JOIN操作、避免子查询、合理使用临时表等方式提高查询性能。 11. **存储过程与函数**:存储过程是一组预编译的SQL语句,可以包含控制流语句;函数返回一个值,两者都能...

    MySQL DBA高频面试题

    8. 视图的优缺点: - 优点:简化复杂查询、安全控制、保护数据、提供不同数据视图。 - 缺点:性能开销、不能进行某些类型的更新操作。 9. drop、truncate、delete区别: - drop直接删除表结构及所有数据。 - ...

    mysql 面试题.pdf

    7. **MySQL中的utf8mb4字符集和utf8字符集有什么区别?** - **utf8mb4** 支持Unicode标准中的所有字符,包括表情符号。 - **utf8** 支持大多数Unicode字符,但不包括一些较新的符号。 #### 五、实操类技术问题 1...

    Mysql面试题详解MySQL常见面试题汇总(建议收藏!!!)

    索引的主要作用是帮助服务器避免排序和临时表,将随机 IO 变为顺序 IO,提高数据的检索速度。 2. 索引的数据结构:索引的数据结构和具体存储引擎的实现有关,在 MySQL 中使用较多的索引有 Hash 索引,B+ 树索引等,...

    Java面试Mysql.pdf

    在Java面试中,MySQL是常被讨论的话题,涵盖了SQL语句的执行顺序、索引的优缺点、如何避免索引失效、SQL优化方法、不同存储引擎的比较、事务的ACID特性以及锁机制等多个核心知识点。 1. **SQL执行顺序**: SQL语句...

    mysql面试题文档资料

    - 使用子查询、临时表和连接查询的比较,以及何时选择最合适的方法。 - GROUP BY和HAVING子句在聚合查询中的应用。 4. **事务与并发控制** - 事务的ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离...

Global site tag (gtag.js) - Google Analytics