自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Seeker-Wu的专栏

只有行动,才能证明你自己。

  • 博客(27)
  • 资源 (10)
  • 收藏
  • 关注

翻译 mysql5.7官网直译SQL语句优化--通过物化来优化子查询

2.2 Optimizing Subqueries with Materialization 通过物化来优化子查询优化器使用物化能够更有效的来处理子查询。物化通过将子查询结果作为一个临时表来加快查询执行速度,正常来说是在内存中的。mysql第一次需要子查询结果是,它物化结果到一张临时表中。在之后的任何地方需要该结果集,mysql会再次引用临时表。优化器也许会使用一个哈希索引来使得查询更快速代价

2017-11-30 17:59:15 2437

原创 记录手动处理form表单中对table表格中的行数据的收集

通过ajax发送数据到controller来处理,这是大部分web应用都会遇到的问题。而对于form表单数据的收集,如果要发送数据少的话,我们可以一个一个来收集,而如果有很多也就是说批量操作那么我们可以通过$("#FormId").serializeArray();来自动发送数据,而对于要收集的对象属性名都是相同的,而在controller层的注解通过普通的@RequestMapping(

2017-11-30 16:57:17 4770

翻译 mysql5.7官网直译SQL语句优化--子查询,派生表和试图引用

8.2.2 Optimizing Subqueries,Derived Tables,and View References 优化子查询,派生表和试图引用8.2.2.1 通过Semi-join转变来优化子查询,派生表和试图引用8.2.2.2 通过物化来优化子查询8.2.2.3 优化派生表和试图引用8.2.2.4 通过EXISTS策略来优化子查询mysql 查询优化有不同的策略可

2017-11-30 16:00:20 396

翻译 mysql5.7官网直译SQL语句优化--行结构表达式的优化

1.18Row Constructor Expression Optimization行结构表达式的优化行结构允许同时比较多个列的值。例如,这两个语句的语义是相等的:SELECT * FROM t1 WHERE (column1,column2) = (1,1);SELECT * FROM t1 WHERE column1 = 1 AND column2 = 1;而且优化器处理两个

2017-11-26 17:19:50 434

翻译 mysql5.7官网直译SQL语句优化--函数调用的优化

1.17 Function Call Optimization 函数调用的优化mysql的函数被标记位确定或者是不确定的函数两大类。一个函数通过固定的入参多次调用返回不同的结果值,则被称为不确定函数,比方说函数RUND(),UUID()就是不确定函数。如果一个函数被定义为不确定函数,在一个where条件中引用他被用于评估每一行(查询结果来自单一张表)或者是结合后的行(查询结果来自多表连接)

2017-11-26 15:11:00 257

翻译 mysql5.7官网直译SQL语句优化--DISTINCT,LIMIT优化

1.15DISTINCT Optimization DISTINCT和ORDER BY结合多数情况下需要一个临时表。因为DISTINCT也许用到GROUP BY,了解mysql在order by列上如何工作,或者是having 条件是如何工作的,并且条件不是被选择的列的部分。请看12.19.3的mysql处理group by。在大多数情况下,一个DISTINCT条件能够被考虑作为一个特

2017-11-26 11:29:01 1501

翻译 mysql5.7官网直译SQL语句优化--分组优化

1.14Group By Optimization 分组优化大多数方法为了满足分组查询需要扫描整个表并且创建一个临时表,其中每组中的值都是连续的,如果可以使用聚合函数和临时表获取各个分组。在某些情况下,mysql能够通过使用索引方法从而避免创建临时表来提高查询效率。在group by中使用索引的前提条件是group by中的列都是来自相同的索引,并且索引中存储的是有序的key(例如,是一个

2017-11-25 21:19:47 246

翻译 mysql5.7官网直译SQL语句优化--排序优化

1.13ORDER BY Optimization 排序优化。这部分描述当mysql能够使用一个索引去满足排序条件,filesort算法会被使用如果一个索引不能用的时候,和执行计划的信息关于优化器对于order by的可用信息。>使用索引来排序>优化器使用文件排序>原始的文件排序算法>修改后的文件排序算法>在内存中的文件排序算法>文件排序算法的对比>排序优化的影响

2017-11-19 21:21:16 228

翻译 mysql5.7官网直译SQL语句优化--IS NULL查询优化

1.12 IS NULL Optimization is null  查询的优化mysql能够完成同样的优化在col_name is null,通过采用col_name=constant_value来完成。例如,mysql可以使用索引或者是范围扫描来查找null值对于is null的查询。例如:SELECT * FROM tbl_name WHERE key_col IS NULL;

2017-11-19 10:18:43 1038

翻译 mysql5.7官网直译SQL语句优化--块式嵌套循环和批量key访问连接

1.11 Block Nested-Loop and Batched Key Access Joins(块式嵌套循环和批量key访问连接)。在mysql,一个批量key访问(BKA)连接算法可以使用在通过索引扫描而连接的表和一个连接缓存中。BKA算法支持内连接,外连接和semi-join操作,包括嵌套外连接。而BKA的好处包括通过提高表扫描效率来提高连接效率。当然循环嵌套块(BNL)算法原来被

2017-11-18 21:26:20 471

翻译 mysql5.7官网直译SQL语句优化--多范围读取优化

1.10 Multi-Range Read(MRR) Optimization(多范围读取优化)当使用一个范围扫描在一个二级索引上查找行数据会导致许多随机的磁盘访问对于基本表的查询,如果表比较大,并且没有存储在存储引擎的缓存中的话。多范围读取的磁盘扫描优化,mysql通过首先只扫描索引来减少对范围查询中会引起的随机磁盘访问次数并且收集相关的keys集合。然后被存储的keys和通过主键顺序得到的

2017-11-18 10:43:49 410

翻译 mysql5.7官网直译SQL语句优化--外部链接简单化

1.9 Outer Join Simplifiation.外部连接简单化查询中from条件中表的表达式可以有多种方式简单化。在分析阶段,包含右外连接操作的查询可以被转换为值包含左连接操作的查询。在一般情况下,转变回产生在如下的右连接中:(T1, ...) RIGHT JOIN (T2, ...) ON P(T1, ..., T2, ...)变成等价的左连接:(T2, ...) LEFT

2017-11-15 14:12:29 262

翻译 mysql5.7官网直译SQL语句优化--左右连接的优化

1.8Left Join and Right Join Optimization(左连接和右连接的优化):mysql执行一个A left join B的连接条件如下:>表B是一个依赖于A和A依赖的所有其他表共同决定的集合。>表A是一个依赖于用于left join条件的除B表意外的所有表的一个集合。>LEFT JOIN条件被用来决定怎么样检索B表中的行。(换句话说,任何在where中

2017-11-14 18:37:16 547

翻译 mysql5.7官网直译SQL语句优化--嵌套连接的优化

Nested Join Optimization(嵌套连接的优化)允许嵌套连接的表达式语法。下面的描述引用在13.2.9.2的连接语法。table_factor的语法是对标准sql比较的扩展。后者只接受table_reference,而不是一个括号内的list集合。如果我们考虑每一个在table_reference集合中的逗号在内连接中都是等价的,那么这可以被看做是一个保守的扩展。例如

2017-11-14 16:05:55 242

翻译 mysql5.7官网直译SQL语句优化--嵌套循环连接算法

1.6Nested-Loop Join Algorithms(嵌套循环连接算法)mysql通过使用一个嵌套循环算法或者是它的演变来执行表之间的连接。>嵌套循环连接算法一个简单的循环嵌套连接(NLJ)算法一次循环读取一行数据在第一张表中,通过每一行都嵌套循环处理与下一张表连接。这个过程被重复多次直到其他的多有表都被连接。假设一个涉及到三张表t1,t2,t3的连接被执行通过如下的连接类

2017-11-12 13:49:08 592

翻译 mysql5.7官网直译SQL语句优化--索引条件压入优化

1.5index Condition Pushdown Optimization(索引条件压入优化)索引条件压入(ICP)是一个优化对于mysql从表中使用索引来检索行时。没有ICP,存储引擎遍历索引定位表中的行数据,然后返回数据到mysql服务器评估WHERE条件对于行数。如果ICP可以用,如果where条件的部分可以只使用索引列来做出评估,mysql服务压这部分满足where条件的数据入存

2017-11-12 12:59:12 254

翻译 mysql5.7官网直译SQL语句优化--引擎压入条件优化

Engine Condition Pushdown Optimization(引擎压入条件优化)这个优化用来提高直接对比一个无索引列和常量值比较的效率。在这种情况下,条件压入存储引擎去评估。这种优化只能用在NDB存储引擎上。对于NDB集群,这个优化能够排除那些不匹配的行数从集群中的数据节点到mysql服务器之间通过网络传输的数据,并且如果使用了优化比不使用能够提高查询5到10倍的效率。

2017-11-12 10:34:20 400

翻译 mysql5.7官网直译SQL语句优化--索引合并的优化

索引合并是使用多个范围扫描去检索行数据并最终合并他们的结果为一个结果集的方法。这种合并至能发生在单一表的索引扫描上;不能夸表合并扫描结果。这个合并会产生union并集,交集,或者是既有并集又有交集。例如如下的查询将会使用索引合并:SELECT * FROM tbl_name WHERE key1 = 10 OR key2 = 20;SELECT * FROM tbl_name

2017-11-12 09:40:36 507

翻译 mysql5.7官网直译SQL语句优化--范围查询优化

范围查询的优化范围访问方法使用单一索引去检索表中的数据包含一个或者多个索引值的行记录。范围查询能够用于单一索引或者联合索引。下面的部分说明了优化器使用范围查询的条件。>范围访问方法对单一索引 对于单一索引,索引间隙值可以很容易的通过在where条件中正确的表现出来,表示为区域条件而不是间隙值 给一个单一索引值定义一个区域条件如下:  1)对于BTREE和HASH索引,当使用=,

2017-11-09 17:32:03 1654

翻译 mysql5.7官网直译SQL语句优化--where条件查询优化

这部分讨论的优化是针对WHERE条件的。通过SELECT语句来举例,但是同样的优化也适用于DELETE和UPDATE中的WHERE语句。   注意:因为mysql优化器的工作一直在继续,所以不可能把mysql执行优化的全部信息都展示在这里。你也许会在牺牲可读性的前提下重写查询从而来提高算法操作速度。因为mysql会自动去做同样的优化操作,所以你应该避免这样做,从而保证你的查询更加可理解且具

2017-11-07 18:53:40 743

翻译 mysql5.7官网直译SQL语句优化--select语句优化

8.2 sql语句优化大致内容如下:8.2.1:SELECT语句的优化8.2.2:优化子查询,派生表和试图引用8.2.3:优化INFORMATION_SCHEMA查询8.2.4:优化数据改变语句8.2.5:优化数据库权限8.2.6:其他优化建议数据库应用的核心逻辑是完成sql语句的执行,sql语句可以直接提交或者通过API后台提交。该部分指南帮助提高各种my

2017-11-07 15:18:52 267

翻译 mysql最新版explain详解来自官网直译(6)

为了得到执行计划的具体信息是以一个命名连接生成的,命令格式如下:EXPLAIN [options] FOR CONNECTION connection_id;EXPLAIN FOR CONNECTION返回的EXPLAIN信息就是当前被给出的连接所执行的查询的解析信息。因为数据的改变,也许会产生不同的结果当执行EXPLAIN去评估查询文本时。这种行为的不同能够对诊断更多瞬时行为问题有帮助。

2017-11-06 17:08:15 390

翻译 mysql最新版explain详解来自官网直译(5)

对于查询语句,Explain输出的额外扩展信息并不是Explain输出的一部分,而是需要通过SHOW Warning命令来查看,当执行EXPLAIN之后在执行即可。而输出的信息包含了优化器如何选择表和在查询中的列信息,在运用重写和优化规则之后的查询是怎么样的,还有一些可能的注意事项关于优化进程。额外的信息值有对查询语句有效,在执行Explain之后通过SHOW WARNING命令查看信息,而对

2017-11-06 16:07:07 313

翻译 mysql最新版explain详解来自官网直译(4)

EXPLAIN输出的解释说明通过Explain执行计划输出结果中的值,你能够得到明确的提示,如何才能完成一个好的表连接。也能告诉你大概需要扫描多少行的数据Mysql才能执行完成查询。如果你用max_join_size系统值限定了查询,这行的输出通常被用来决定哪一个multiple-table在查询中被执行和那些被去除。具体请看5.1.1的服务的配置。接下来的例子说明了一个多表连接的查询是怎

2017-11-05 17:35:41 205

翻译 mysql最新版explain详解来自官网直译(3)

Explain的连接类型EXPLAIN输出的type列的值说明了表是怎么样连接的。在以JSON格式的输出中,该列的值为access_type属性的值。下面从最好到最差的连接类型来说说明:system:表中只有一行数据的表,这也是一种特别类型的常数连接类型const:在执行查询开始的时候,大多数都只有一行是匹配成功的。因为是单行匹配,所以需要查找该行对应列的值可以被优化器看做是常数。常数

2017-11-04 21:08:13 391

翻译 mysql最新版explain详解来自官网直译(2)

explain输出信息详解id(JSON name:select_id): 这是select执行查询的顺序号。这个值也可以是null,当输出行引用的是其他行结果的合集时。在这种情况下,输出行的table这一列将会是一个类似于的值,表示这一行引用来自行id为M和N的结合。select_type(JSON name:none):查询的类型,下面表格中展示的类型都可以出现在这一列中。而对于JSO

2017-11-03 11:36:20 303

翻译 mysql最新版explain详解来自官网直译(1)

执行计划学习笔记8.8.1用查询计划优化查询mysql的执行计划提供了关于mysql执行语句的信息说明执行计划可以用于SELECT查询、DELETE删除、INSERT插入和UPDATE更新语句。当执行计划用于可使用执行计划的sql语句时,mysql会展示优化器关于执行sql语句的详细信息。也就是mysql会怎么样去执行这个sql语句,包括怎么做表连接和怎么排序。关于更具体的执行计划

2017-11-02 19:54:44 516

MySQL流行中间件比较及实现原理

数据库中间件的一个文档分享

2017-05-11

矩阵求解和排序

求矩阵中的最大次大奇数,以及矩阵边框值。

2013-04-19

矩阵中的最大和次大的奇数

包含两个小程序,一个完成5x5矩阵中的最大和次大奇数,并且求出次大奇数的阶乘,另一个是求7x7矩阵的边框值,如有任何地方不懂

2013-04-19

visual studio 2008 编写的计算器

本计算器用visual studio 2008 中的vb 编写完成,功能完整。加减乘除,小数点,可以不听的加或者乘,系统会自动完成不断的加或者乘,希望可以帮到编程的弟兄姐妹么。

2013-04-19

秒表与时间

本秒表与时间是用vb.6.0,开发的,秒表功能有开始,暂停和重置,能够显示当前笔记本或者是电脑上的时间和日期。代码清晰易懂。

2013-03-20

详细java学习课件

这是相对完整的java学习课件,如果你还对java这个技术一无所知,那么你就可以看看这些课件,让她带你入门学习java,通过她,相信你会对java有个大概的了解,希望对你今后的学习有帮助,谢谢支持。

2012-09-01

税法详细基础课件

这是很全面的有关税法的课件,如果你想学习税法,但是无从下手,不知道怎么学习,那么请你下载并查看她,我相信她一定会对你有很大的帮助,相信我,没有错的。

2012-09-01

C语言基础学习

里面包括了选择循环,数组和指针等的讲解,虽然不是很全面,但是给大家提供,交流学习。

2012-09-01

网页制作初级

这是关于网页制作的初级学习,帮助大家制作的,如果能够帮助大家学习,希望获得支持。

2012-08-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除