有人能告诉我数据库调优和数据库查询优化之间的确切区别吗?
我在维基百科上阅读了以下链接:
http://en.wikipedia.org/wiki/Query_optimization
http://en.wikipedia.org/wiki/Database_tuning
根据我的理解,数据库调优似乎不是别的,而是数据库查询优化。我还是很困惑
这两者到底有什么区别呢?
发布于 2012-05-30 00:02:04
数据库调优指的是数据库本身的调优。它对存储和内存的访问。各种缓冲区和运行时参数的组织。以及使用索引、(反)规范化、模式对象上的存储参数等来优化模式。
查询优化一次只关注一条语句。它可能涉及重构语句、创建索引和物化视图、添加提示和更新统计信息。
虽然两者之间存在重叠(当数据库执行得更好时,单个语句可能也会更快),但它们通常具有相互矛盾的目标。如果一次调优一条语句,您可能会创建许多索引,但每个索引都会给数据库带来一些额外的负载,以便写入该表,因此整体性能实际上可能会受到影响。
发布于 2012-05-29 23:54:09
我想说查询优化是数据库调优的一个子集。如果你阅读任何关于性能调优的普通书籍,你通常只会看到一个与调优查询相关的章节。其他章节涉及分区、索引、负载测试、锁定和阻塞、硬件、内存、模式等。
发布于 2012-05-29 23:59:43
我知道查询优化与查询本身有关,因此,例如,您可以改进实现不佳的连接,删除不必要的字段,等等。只会影响正在分析的查询的事情。
数据库调优涉及到整个服务器,因为索引、查询负载,甚至与IO相关的事情,例如,将数据库分区或拆分到不同磁盘中的不同文件组。
https://stackoverflow.com/questions/10802463
复制相似问题