数据库调优和数据库查询优化有啥区别? [关闭]
Posted
技术标签:
【中文标题】数据库调优和数据库查询优化有啥区别? [关闭]【英文标题】:What is the difference between database tuning and database query optimization? [closed]数据库调优和数据库查询优化有什么区别? [关闭] 【发布时间】:2012-05-29 15:47:11 【问题描述】:谁能告诉我数据库调优和数据库查询优化之间的确切区别?
我已阅读 Wikipedia 上的以下链接:
http://en.wikipedia.org/wiki/Query_optimization
http://en.wikipedia.org/wiki/Database_tuning
据我了解,似乎数据库调优不过是数据库查询优化。我还是一头雾水
这两者到底有什么区别?
【问题讨论】:
【参考方案1】:数据库调优是指对数据库本身进行调优。它访问存储和内存。各种缓冲区和运行时参数的组织。以及使用索引优化模式、(反)规范化、模式对象上的存储参数等等。
查询优化一次只关注一条语句。它可能涉及重组语句、创建索引和物化视图、添加提示和更新统计信息。
虽然两者之间存在重叠(当数据库性能更好时,单个语句也可能更快),但它们的目标通常相互矛盾。如果您一次调整一条语句,您可能会创建大量索引,但每个索引都会为写入该表的数据库增加一点额外负载,因此整体性能实际上可能会受到影响。
【讨论】:
【参考方案2】:我会说查询优化是数据库调优的一个子集。如果您查看任何有关性能调优的通用书籍,您通常只会看到与调优查询相关的一章。其他章节与分区、索引、负载测试、锁定和阻塞、硬件、内存、模式等有关。
【讨论】:
【参考方案3】:我了解查询优化与查询本身有关,因此,例如,您可以改进执行不佳的联接、删除不必要的字段等。只会影响正在分析的查询的事情。
数据库调优涉及整个服务器,因为索引、查询负载,甚至与 IO 相关的事情,例如分区或将数据库拆分为不同磁盘中的不同文件组。
【讨论】:
以上是关于数据库调优和数据库查询优化有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章