2020-05-26 09:22
6681 次浏览
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询和优化改写都要用到。第5~12章是提高部分,讲解了正则表达式、分析函数、树形查询及汇总函数的用法。这部分知识常用于对一些复杂需求的实现及优化改写。最后两章介绍日常的优化改写案例。这部分是前面所学知识的扩展应用。如果您是开发人员,经常与Oracle打交道,那么《Oracle查询优化改写技巧与案例》可以帮助您处理复杂的需求,写出高性能的语句。如果您是运维人员,则《Oracle查询优化改写技巧与案例》可以帮助您更快地完成慢语句的改写优化。第1章单表查询 1 1.1 查询表中所有的行与列 1 1.2 从表中检索部分行 2 1.3 查找空值 3 1.4 将空值转换为实际值 4 1.5 查找满足多个条件的行 5 1.6 从表中检索部分列 6 1.7 为列取有意义的名称 6 1.8 在WHERE子句中引用取别名的列 7 1.9 拼接列 7 1.10 在SELECT语句中使用条件逻辑 8 1.11
2020-03-04 12:58
4330 次浏览
《Effective MySQL之SQL语句最优化》是由MySQL专家Ronald Bradford撰著,书中提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。本书希望能够通过一步步详细介绍SQL优化的方法,帮助读者分析和调优有问题的SQL语句。主要内容● 找出收集和诊断问题必备的分析命令● 创建MySQL索引来改进查询性能● 掌握MySQL的查询执行计划● 找出影响查询执行和性能的关键配置变量● 用SQL语句优化的生命周期来识别、确认、分析然后优化SQL语句,并检查优化的结果● 学习使用不为常人所知的一些性能技巧来改进索引效率并简化SQL语句目 录 第1章 DBA五分钟速成 1 1.1 识别性能问题 2 1.1.1 寻找运行缓慢的SQL语句 2 1.1.2 确认低效查询 3 1.2 优化查询 6 1.2.1 不应该做的事情 6 1.2.2 确认优化 7 1.2.3 正确的方式 7 1.2.4 备选的解决方案 9 1.2 本章小结 9 第2章 基本的分析命令 11 2.1 EXPLAIN命令 12 2.1.1 EXPLAIN PARTITIONS命令
2020-01-20 09:00
3208 次浏览
《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。《数据库索引设计与优化》适用于已经具备了SQL 这一关系型语言相关知识,希望通过理解SQL 性能相关的内容,或者希望通过了解如何有效地设计表和索引而从中获益的人员。另外,《数据库索引设计与优化》也同样适用于希望对新硬件的引入所可能带来的变化做出更好判断的资深人士。第1 章 概述 ........................ 1 关于SQL 性能的另一本书 ......... 1 不合适的索引 .............................. 3 误区和误解 ........... 4 误区1:索引层级不要超过5 层 ...................... 5 误区2:单表的索引数不要超过6
2020-01-20 08:56
3405 次浏览
数据库领域的超级畅销书,世界级Oracle大师Jonathan Lewis的最新力作,也是近几年来Oracle领域最重要的著作之一,荣获2006年年度Oracle杂志编辑选择大奖。自该书出版以来,受到无数读者、网友和专家的好评,被翻译成多种语言,成为众多中高级Oracle用户、DBA和开发人员的必看图书。第1章 成本的含义1第2章 表扫描9第3章 单表选择率39第4章 简单B树访问59第5章 群集因子83第6章 选择率的相关问题109第7章 直方图141第8章 位图索引169第9章 查询变换193第10章 连接基数243第11章 嵌套循环281第12章 散列连接293第13章 排序与归并连接323第14章 10053 trace文件367附录A 升级问题415附录B 优化器参数427……
2019-10-19 10:49
4069 次浏览
《MySQL性能调优与架构设计》以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过 MySQL 实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication 的利用、数据切分、如何使用 Cache 和 Search,以及 NDB Cluster等内容。高可用则主要包括 Dual Master、DRBD、NDB Cluster,以及系统监控等方面。本书主要面向有一定的 MySQL 基础或至少有一定S
2019-10-18 09:01
3595 次浏览
本书由Oracle公司授权,向读者详尽阐述如何调整SQL语句、查看内部执行计划和更改执行计划以提高语句性能。主要内容包括:理解SQL调整在Oracle总体微调中地地位,使用诸如内嵌视图和BIF扩展提高Oracle SQL性能,确定并报告程序库缓存中的SQL语句,调整SQL表访问、完整表扫描和平行查询,运行TKPROF获得SQL跟踪报告,使用Oracle线索为Oracle SQL语句更改执行计划,使用Oracle8i优化器计划稳定性、基于成本的优化器和基于规则的优化器,调整SQL DML语句、SQL子查询和数据仓库SQL,调整带有临时表和索引的SQL语句,使用STATSPACK诊断和优化系统性能。前言 第一部分 第1章 SQL简介 第2章 Oracle SQL扩展简介 第3章 理解SQL执行 第4章 SQL优化器简介第5章 SQL内部处理第6章 调整SQL表访问第二部分 第7章 SQL调整基础 第8章 理解SQL工具 第9章 定位重要的SQL语句 第10章 调整全表扫描和并行查询第11章 优化SQL语句排序第12章 使用优化器提示第13章 使用优化器计划稳定性进行调整第14章 基于成本优
2019-09-25 20:54
3654 次浏览
Mysql优化01 关键技术Mysql优化02 表的设计Mysql优化03 慢查询(一)Mysql优化04 慢查询(二)Mysql优化05 慢查询(三)Mysql优化06 索引(一)Mysql优化07 索引(二)Mysql优化08 索引(三)Mysql优化09 索引(四)Mysql优化10 优化诀窍(一)Mysql优化11 优化诀窍(二)Mysql优化12 定时维护(一)Mysql优化13 定时维护(二)Mysql优化14 阶段总结Mysql优化15 定时维护(三)Mysql优化16 定时维护(四)Mysql优化17 水平分割Mysql优化18 读写分离Mysql优化19 增量备份
2019-09-07 19:51
3975 次浏览
《基于Oracle的SQL优化》是一本与众不同的书,它的目的是使读者真正掌握如何在 Oracle数据库里写出高质量的 SQL语句,以及如何在 Oracle数据库里对有性能问题的 SQL做诊断和调整。《基于Oracle的SQL优化》从 Oracle处理 SQL的本质和原理入手,由浅入深、系统地介绍了 Oracle数据库里的优化器、执行计划、Cursor和绑定变量、查询转换、统计信息、Hint和并行等这些与 SQL优化息息相关的本质性内容,并辅以大量极具借鉴意义的一线 SQL优化实例,阐述了作者倡导的“从本质和原理入手,以不变应万变”的优化思路,最后还介绍了作者在实际工作中总结出来的 Oracle数据库里 SQL优化的方法论。《基于Oracle的SQL优化》适用于使用 Oracle数据库的开发人员、Oracle DBA和其他对 Oracle数据库感兴趣的人员,也可以作为各院校相关专业的教学辅导和参考用书,或作为相关培训机构的培训教材。第 1章 Oracle里的优化器 ...................................11.1 什么是 Oracle里的优化器 ......
2019-06-19 15:10
3006 次浏览
这篇文章将给大家介绍如何使用 explain 来分析一条 sql 。网上其实已经有非常多的文章都很详细的介绍了 explain 的使用,这篇文章将实例和原理结合起来,尽量让你有更好的理解,相信我,认真看完你应该会有特别的收获。explain 翻译过来就是解释的意思, 在 mysql 里被称作执行计划,即可以通过该命令看出 mysql 在经过优化器分析后决定要如何执行该条 sql 。说到优化器,再多说一句,mysql 内置了一个强大的优化器,优化器的主要任务就是把你写的 sql 再给优化一下,尽可能以更低成本去执行,比如扫描更少的行数,避免排序等。执行一条sql语句都经历了什么? 我在前面的文章中有介绍过优化器相关的。你可能会问,一般在什么时候会要用 explain 呢,大多数情况下都是从 mysql 的慢查询日志中揪出来一些查询效率比较慢的 sql 来使用 explain 分析,也有的是就是在对 mysql 进行优化的时候,比如添加索引,通过 explain 来分析添加的索引能否被命中,还有的就是在业务开发的时候,在满足需求的情况下,你可能需要通过 explain 来选择一个更高效的
2019-03-27 16:51
3752 次浏览
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条学生成绩表SC:CREATE table SC( sc_id int PRIMARY KEY, s_id int, c_id int, score int)数据70w条查询目的:查找语文考100分的考生查询语句:select s.* from Student s where s.s_id in (select s_id from SC sc where sc.c_id = 0 and sc.score = 100 )执行时间:30248.271s晕,为什么这么慢,先来查看下查询计划:EXPLAIN select s.* from Student s where s.s_id in (select s_id from SC sc where