uniapp 的坑还是很多 $refs在app或者支付宝小程序里不可用 显示undefined 解决办法this.
问题 在SpringBoot项目中使用WebSocket的过程中有其他的业务操作需要注入其它接口来做相应的业务操作,但是在WebSocket的Server类中使用Autowired注解无效,这样注入的对象就是空...,在使用过程中会报空指针异常。...注释:上面说的WebSocket的Server类就是指被@ServerEndpoint注解修饰的类 原因 原因就是在spring容器中管理的是单例的,他只会注入一次,而WebSocket是多对象的,当有新的用户使用的时候...WebSocket对象,这就导致了用户创建的WebSocket对象都不能注入对象了,所以在运行的时候就会发生注入对象为null的情况; 主要的原因就是Spring容器管理的方式不能直接注入WebSocket中的对象
=on'可以把简单subquery打开成join derived_merge为on时被驱动表的连接条件要有索引,为off时被驱动表结果集要小 5.7的derived_merge可能导致子查询中order...,const,ref的情况下,且只查询索引列,即不回表,使用索引进行排序或者聚合即省略排序 索引(a,b),select a from xxx where b = ''; 即联合索引中前导列不在where...条件中,且查询列在索引中 在聚合运算中group by后面的列在索引或者primary key中,且查询列也在索引中 all 无索引 对索引列加工 索引列隐式类型转换 对日期类型进行like '20xxx...index,否则无效 Using temporary sql执行过程中存储中间结果会使用tempoary table,但无法判断在内存还是disk order by,group by未使用索引 执行计划中的...rows是存储引擎中拿数据的预估值,filtered是再过滤的百分比 Using index condition 必须是二级索引才有,且有索引后面部分无法使用时,回表次数很大,效果更好 optimizer_switch
1、点击[编辑区] 2、点击[L] 3、点击[dvi pdf]
WPF 的 ElementName 在 ContextMenu 中无法绑定成功?试试使用 x:Reference!...发布于 2018-10-13 21:38 更新于 2018-10-14 04:25 在 Binding 中使用...,我们为一段文字中的一个部分绑定了主窗口的的一个属性,于是我们使用 ElementName 来指定绑定源为 WalterlvWindow。...▲ 使用普通的 ElementName 绑定 以下代码就无法正常工作了 保持以上代码不变,我们现在新增一个 ContextMenu,然后在 ContextMenu 中使用一模一样的绑定表达式: 使用 x:Reference 代替 ElementName 能够解决 以上绑定失败的原因,是 Grid.ContextMenu 属性中赋值的 ContextMenu 不在可视化树中,而 ContextMenu
约束是为了保证数据的完整性和一致性 --对一个数据列建立的约束,就是列级约束 --对多个数据列建立的约束,就是表级约束 --列级约束既可以在列定义时声明,也可以在列定义后声明, --表级约束只能在列定义后声明...其中数字的长度或者是否有符号位都必须相同 但是,若是字符的长度,则可以不同 */ --4.外键列和参照列必须创建索引,如果外键列不存在索引。!MySQL将自动创建索引!...其中数字的长度或者是否有符号位都必须相同 但是,若是字符的长度,则可以不同 */ --4.外键列和参照列必须创建索引,如果外键列不存在索引。!MySQL将自动创建索引!...: --1.要在添加列名与列类型时候,加上小括号()隔开 --2.添加多列的时候无法指定位置 --删除列 ALTER TABLE 表名 DROP [COLUMN] 列名; --删除单列与多列例(假设前置条件都已定义...在WHERE表达式中,可以使用MySQL支持的函数或运算符。 []中括号内为可省略字符 查找就属于非常常见的操作了。
执行计划 以下是执行计划中每个字段的含义: 1、id:SQL查询中的序列号,id列数字越大越先执行,如果数字一样大,那么就从上往下依次执行。...UNION UNION中第二个或之后的SELECT语句取决于外面的查询 UNION RESULT UNION的结果 SUBQUERY 子查询中的第一个SELECT DEPENDENT SUBQUERY...子查询中的第一个SELECT, 取决于外面的查询 DERIVED 衍生表(FROM子句中的子查询) MATERIALIZED 物化子查询 UNCACHEABLE SUBQUERY 结果集无法缓存的子查询...ref 对于来自前面表的每一行,在此表的索引中可以匹配到多行,ref可用于使用'='或''操作符作比较的索引列。 fulltext 使用全文索引的时候是这个类型。...index_merge 表示查询使用了两个以上的索引,最后取交集或者并集,常见and ,or的条件使用了不同的索引 unique_subquery 用于where中的in形式子查询,子查询返回不重复值唯一值
possible_keys 指出MySQL能使用哪个索引在该表中找到行 key 显示MySQL实际决定使用的键(索引)。如果没有选择索引,键是NULL。...Using index:从只使用索引树中的信息而不需要进一步搜索读取实际的行来检索表中的列信息。 Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。...possible_keys 指出MySQL能使用哪个索引在该表中找到行 key 显示MySQL实际决定使用的键(索引)。如果没有选择索引,键是NULL。...Using index:从只使用索引树中的信息而不需要进一步搜索读取实际的行来检索表中的列信息。 Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。...2.eq_ref 在t_order表中的order_id是主键,t_order_ext表中的order_id也是主键,该表可以认为是订单表的补充信息表,他们的关系是1对1,在下面的例子中可以看到b表的连接类型是
使用方法,在select语句前加上explain就可以了: 如: explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释...在不损失精确性的情况下,长度越短越好 ref:显示索引的哪一列被使用了,如果可能的话,是一个常数 rows:MYSQL认为必须检查的用来返回请求数据的行数 Extra:关于MYSQL如何解析查询的额外信息...它根据连接类型以及存储排序键值和匹配条件的全部行的行指针来排序全部行 Using index: 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候...因为只有一行,这个值实际就是常数,因为MYSQL先读这个值然后把它当做常数来对待 eq_ref:在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用...2.eq_ref 在t_order表中的order_id是主键,t_order_ext表中的order_id也是主键,该表可以认为是订单表的补充信息表,他们的关系是1对1,在下面的例子中可以看到b表的连接类型是
但该子句与GROUP BY子句存在以下几点不同:可以与GROUP BY配合使用;当不存在ORDER BY子句但存在LIMIT子句时,查询将在同时满足DISTINCT与LIMIT的情况下立即停止查询;在处理数据的同时输出结果...执行查询时,在查询中列出的所有列都将从对应的表中提取数据;如果你使用的是子查询的方式,则任何在外部查询中没有使用的列,子查询将从查询中忽略它们;如果你的查询没有列出任何的列(如SELECT count(...在使用ANY修饰符对JOIN进行修饰时,如果右表中存在多个与左表关联的数据,那么系统仅返回第一个与左表匹配的结果。如果左表与右表一一对应,不存在多余的行时,ANY与ALL的结果相同。...可以通过使用别名的方式来更改子查询中的列名。USING子句使用的是等值连接。右表(子查询的结果)将会保存在内存中。如果没有足够的内存,则无法运行JOIN。只能在查询中指定一个JOIN。...WHERE与HAVING不同之处在于WHERE在聚合前(GROUP BY)执行,HAVING在聚合后执行。如果不存在聚合,则不能使用HAVING。
简单示例如下: (6)possible_keys:执行查询语句时可能用到的索引,但是在实际查询中未必会用到。当此列为NULL时,说明没有可使用的索引,此时可以通过建立索引来提高查询的性能。...(8)key_len:执行查询语句时实际用到的索引按照字节计算的长度值,可以通过此字段计算MySQL实际上使用了复合索引中的多少字段。如果key列值为NULL,则key_len列值也为NULL。...(9)ref:数据表中的哪个列或者哪个常量用来和key列中的索引做比较来检索数据。如果此列的值为func,则说明使用了某些函数的结果数据与key列中的索引做比较来检索数据。...(11)Extra:在执行查询语句时额外的详细信息。...mysql中无法利用索引完成的排序称为文件排序。 using temporary(性能非常差):新建了内部临时表,使用了临时表保存中间结果。
标量子查询(Scalar Subquery):返回单个值(一行一列)的子查询。 行子查询(Row Subquery):返回单行结果(一行多列)的子查询。...列子查询(Column Subquery):返回单列结果(一列多行)的子查询。 表子查询(Table Subquery):返回一个虚拟表(多行多列)的子查询。...3.2 行子查询 行子查询可以当作一个一行多列的临时表使用。...当 WHERE 条件中的子查询返回多行数据时,不能再使用普通的比较运算符,因为它们不支持单个值和多个值的比较;如果想要判断某个字段是否在子查询返回的数据列表中,可以将子查询与 IN、ALL、ANY/SOME...= IN 操作符 IN 操作符表示表达式是否在子查询的结果列中,如果在,如返回 TRUE。
标量子查询(Scalar Subquery):返回单个值(一行一列)的子查询。 行子查询(Row Subquery):返回单行结果(一行多列)的子查询。...列子查询(Column Subquery):返回单列结果(一列多行)的子查询。 表子查询(Table Subquery):返回一个虚拟表(多行多列)的子查询。...3.2 行子查询 行子查询可以当作一个一行多列的临时表使用。...当 WHERE 条件中的子查询返回多行数据时,不能再使用普通的比较运算符,因为它们不支持单个值和多个值的比较;如果想要判断某个字段是否在子查询返回的数据列表中,可以将子查询与 IN、ALL、ANY/SOME...= IN 操作符 IN 操作符表示表达式是否在子查询的结果列中,如果在返回 TRUE。
6 possible_keys 表示查询时,可能使用的索引。( MySQL能使用哪个索引在该表中找到行) 7 key 实际使用的索引(键),必然包含在possible_keys中。...要想强制MySQL使用或忽视possible_keys列中的索引, 在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX。...key_len显示的值为索引字段的最大可能长度, 并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。 9 ref 使用哪个列或常数,与索引一起被用于从表中查找索引列上的值。...Using filesort:当Query中包含 order by 操作,而且无法利用索引完成的排序操作称为“文件排序”。...Using index:只使用索引树中的信息而不需要进一步搜索读取实际的行来检索表中的列信息。
这些都会导致严重的性能开销 尽量将列设置为NOT NULL a.可为NULL的列占用更多的存储空间 b.可为NULL的列,在使用索引和值比较时,mySQL需要做特殊的处理,损耗一定的性能 建议:通常最好指定列为...order by c,可以建立联合索引(a,b,c)。 如果索引中有范围查找,那么索引有序性无法利用,如 WHERE a>10 ORDER BY b;索引(a,b)无法排序。...(date_clo) >= 10 4.like查询以%开头 5.or (or两边的列都建立了索引则可以使用索引) 6.类型不一致 如果列是字符串类型,传入条件是必须用引号引起来,不然无法使用索引 select...join 3.避免 SELECT *,从数据库里读出越多的数据,那么查询就会变得越慢 4.尽可能的使用 NOT NULL列,可为NULL的列占用额外的空间,且在值比较和使用索引时需要特殊处理,影响性能...SELECT语句,取决于外面的查询 UNION RESULT:UNION 的结果 SUBQUERY:子查询中的第一个SELECT DEPENDENT SUBQUERY:子查询中的第一个SELECT,取决于外面的查询
注意 ORM 级别的 distinct() 调用包含逻辑,将自动将查询的 ORDER BY 中的列添加到 SELECT 语句的列子句中,以满足数据库后端的常见需求,即在使用 DISTINCT 时,ORDER...然而,这些列 不会 添加到实际由 Query 获取的列列表中,因此不会影响结果。然而,在使用 Query.statement 访问器时,这些列会通过。...然而,这些列不会添加到实际由Query获取的列列表中,因此不会影响结果。但是,在使用Query.statement访问器时,这些列会被传递。...当设置为 False 时,返回的查询在执行某些操作之前不会断言其状态,包括在调用filter()时未应用 LIMIT/OFFSET,在调用get()时不存在条件,以及在调用filter()/order_by...例如,如果我们在连接链中指定User、然后是Item、然后是Order,那么 Query 不会正确知道如何连接;在这种情况下,根据传递的参数,它可能会引发一个无法连接的错误,或者它可能会生成无效的 SQL
分区列(Partition columns)是虚拟列,它们不是数据本身的一部分,而是在加载时派生的。 4,分桶 每个分区中的数据又可以基于表的某一列的散列函数的值被划分为桶。...• 6,SELECT: 选择需要的列, 若使用窗口函数,也在这个环节执行。 • 7,DISTINCT: 去除重复的记录。 • 8,ORDER BY: 对记录进行排序。...常用的聚合函数包括: • COUNT:计算分组中的行数 • SUM::计算分组中数值列的总和 • AVG:计算分组中数值列的平均值 • MAX: 计算分组中数值列的最大值 • MIN:计算分组中数值列的最小值...• COLLECT_SET: 将分组中的值收集到一个集合中(去重) • COLLECT_LIST: 将分组中的值收集到一个列表中(不去重) 可以在GROUP BY子句中使用HAVING子句来过滤分组。...没有统计量,就无法抓住关键信息,就无法避免被淹没在充满噪声的样本数据的海洋中。 没有对比,就无法感知差异,就无法用雄辩的实验数据验证我们的逻辑假设。
因此,我们在应用中应该尽量使用主键查询。...当然,我也知道,在实际开发中,很少能用到主键查询的,因为主键一般不存在于业务流程中,那么再来看下下面这个语句: select id from T where k=5 这条语句和上面的语句最大的区别就是上面语句查询的是所有字段...单列索引就将整个索引长度算进去,多列索引,不是所有列都能用到,需要计算查询中实际用到的列。 ref ref:常见的有:const,func,null,字段名。 当使用常量等值查询,显示const。...Extra 这个列会显示很多不适合在其他列中显示的信息,Explain 中的很多额外的信息会在这个字段显示: Using index:我们在相应的 select 操作中使用了覆盖索引,通俗一点讲就是查询的列被索引覆盖...(image-316348-1609248374529)] Using filesort:表示无法利用索引完成的排序操作,也就是ORDER BY的字段没有索引,通常这样的SQL都是需要优化的。
在5.7版本后,默认explain直接显示partitions和filtered中的信息。 下面说明一下各列含义及可能值: 1、id的含义 The SELECT identifier....它是在SELECT查询中的顺序编号。如果这一行表示其他行的union结果,这个值可以为空。在这种情况下,table列会显示为形如,表示它是id为M和N的查询行的联合结果。...或者多列主键、唯一索引中,使用第一个列之外的列作为等值查找也会出现,总之,返回数据不唯一的等值查找就可能出现。...这个列可以显示的信息非常多,有几十种,常用的有: A:distinct:在select部分使用了distinc关键字。...D:using filesort:排序时无法使用到索引时,就会出现这个。常见于order by和group by语句中。
PRIMARY 最外层select,包含子查询的时候,最外层的查询 UNION 在一个UNION查询中,第二次或以后的子查询操作 DEPENDENT UNION 在一个UNION查询中,第二次子查询或以后的...无法缓存结果的子查询,必须为外部查询的每一行重新计算 UNCACHEABLE UNION UNION中的第二个或以后的不可缓存的子查询。 ...输出内容包含在索引列表中。 8.unique_subquery 索引查找,替换子查询,以提高效率。...No tables used 查询没有FROM子句 Not exists 查询的内容不存在 Plan isn't ready yet 优化程序尚未完成为在命名连接中执行的语句创建执行计划时, 会出现此值...然后对键进行排序,并按排序顺序检索行 Using index 仅使用索引树中的信息从表中检索列信息,而不必另外寻找读取实际行。当查询仅使用属于单个索引的列时,可以使用此策略。