自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 资源 (1)
  • 收藏
  • 关注

原创 [Mycat2]分库分表中间件Join下推规则

Join下推author:chenjunwenqq:294712221This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.单表与单表只涉及单表与单表之间的join,只要它们的存储节点相同,就可以下推任意表与全局表涉及任意表与全局表之间的left/inner join都可以下推相同数据分布关系(ER关系)涉及分片表之间的分片算法的数据分布

2021-11-17 13:19:25 610 1

原创 [Mycat2]Calcite提取谓词例子

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to you un

2021-08-15 23:09:48 289

原创 [Mycat2]索引字段分析-2021-4-21

author:chenjunwen 2021-4-21This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.Mycat2是分库分表型数据库(中间件),具有逻辑库,逻辑表概念,其中对于分片表类型,使用特定的规则组织'行数据'在多个物理表中存储.而SQL查询分片表的时候,正确使用谓词,Mycat2分析出仅需扫描的物理表,则可在执行阶段大大减少需要使用的连接,IO..

2021-04-22 14:42:50 310

原创 [Mycat2]执行计划管理-2021-4-20

author:chenjunwen 2021-4-20This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.Mycat2的执行计划管理主要作用是管理执行计划,加快SQL到执行计划的转换,并且提供一个方式可以从持久层读取自定义的执行计划.它与缓存结果集不同,它更接近传统分库分表的缓存路由.Mycat2引入这个功能的初衷是Calcite在分析复杂SQL的耗时比较..

2021-04-22 14:41:56 338

原创 [Mycat2]UnionAll分库分表优化

[Mycat2]UnionAll优化在不跨数据库的情况下,涉及到多个分表合拼的时候,可以有多个选择,常用的是在Mycat中开启多个后端连接然后使用把返回的行汇总在一起或者在数据库中使用集合运算把分表的数据汇总.上述两种,Mycat2都支持.在同一个数据库上涉及多个分表,Mycat2会使用union all语法把多个生成的SQL连接起来生成一个新的SQL让数据库执行.Mycat2可以配置生成的每个SQL中出现union all的数量,默认值是5个,它可以汇总6个SQL(表),假如一年分12个表,5个un

2021-04-06 10:43:17 708

原创 [Mycat2]JoinClustering

JoinClusteringMycat2在1.17开始正式支持JoinClustering,该名字来自于PolarDB-X的JoinClustering.它对分库分表类数据库的join下推至关重要.Mycat2对其理解后进行开源实现.它是SQL重写技术,优化目标是生成更优的存储节点执行的SQL,使更多Join运算在存储节点运算,大大减少Mycat2的运算.它是基于Join Reorder技术进行构建的.Mycat2的SQL重写器在遇到不能应用两表下推规则(任意表+全局表),再判断是否是inner..

2021-03-20 21:45:16 191

原创 [Apache Calcite]org.apache.calcite.plan.volcano.RelSubset cannot be cast to

public Calc copy(RelTraitSet traitSet, RelNode child, RexProgram program)实现该方法没有使用参数的值导致的错误

2021-02-07 01:57:10 204

原创 [MySQL] error(2014) Commands out of sync; you can‘t run this command now

该错误是因为报文ok包出现了多结果集的标记,但是客户端还没有收到响应,用户就操作客户端

2021-02-04 17:55:57 149

原创 [Mycat2]Expression ‘t.user_id‘ is not being grouped

SELECT t.user_id FROM db1.travelrecord t GROUP BY id;Expression 't.user_id' is not being grouped修改成SELECT any_value(t.user_id) FROM db1.travelrecord t GROUP BY id;projectItem被group by的引用的无聚合函数的字段需要使用any_value...

2021-02-02 13:22:09 4352

原创 Enumerator#reset调用图

org.apache.calcite.linq4j.CartesianProductEnumerator#reset调用图org.apache.calcite.linq4j.CartesianProductEnumerator子类:org.apache.calcite.runtime.SqlFunctions.ProductComparableListEnumeratororg.apache.calcite.runtime.SqlFunctions#product...

2021-01-26 14:02:42 96

原创 基于Calcite制作分库分表中间件(方案3)

上次提到模版结合新自定义关系表达式来实现有效的sql生成,那么我们可不可以像方案1中直接使用Calcite现成的(蛛丝马迹)功能实现,或者说加以强化.答案是有的方法有三种表函数法org.apache.calcite.rel.core.TableFunctionScan实际上分库分表的逻辑表可以表述为形式1:分片函数_表名(单分片值),分片函数_表名(范围分片值)形式2:分片函数(表名,分片值),分片函数(表名,范围分片值)而分片分表的谓词分析就是为了提取分片值..

2021-01-21 19:59:36 358 1

原创 VA ,MySQL Client XA Transcation Tools Based on Vertx

VA ,MySQL Client XA Transcation Tools Based on Vertx

2021-01-18 14:15:12 84

原创 java.sql.SQLException: Buffer length is less then expected payload length

1.colunm count = 02.缺收到了结果行

2021-01-08 22:03:35 2125

原创 基于Calcite制作分库分表中间件(功能场景)

使用Calcite制作分库分表中间件,在实现功能的过程中,存在着几种用途,总得来说,有三种.1.仅分析或简单执行例子1观察此SQLUPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' Calcite会把它编译成类似下面的关系表达式LogicalTableModify LogicalFilter LogicalProject LogicalTableScan.

2020-12-23 22:46:07 477 2

原创 基于Calcite制作分库分表中间件(方案2)

作为分库分表中间件,分片条件应用分区剪裁规则,减少扫描范围是必须做的优化.在方案1中,使用了一次下推,一次关系表达式重写,一次上拉,在然后生成分片执行的SQL,然后使用CBO生成执行器.在生成SQL的代码里,仅仅是使用分片信息作为区分在中间件中运算的部分与在存储数据库中运行的部分是不足够的.我们还要考虑以下因素,生成的SQL能否在数据库中运行,关系表达式以及他们的组合是否能变成SQL,生成的SQL在数据库中执行高效.所以我们需要进一步定制规则来优化.新的关系表达式重写器我们不妨制作.

2020-12-22 23:50:59 272

原创 基于Calcite制作分库分表中间件(方案1)

基于Calcite制作分库分表中间件(方案1)RBO第一阶段-下推分片条件谓词使用下推LogicalFilter的规则与org.apache.calcite.rel.rules.FilterTableScanRuleorg.apache.calcite.rel.rules.ProjectTableScanRule规则把Filter下沉到LogicTableScan之上FilterTableScanRule和ProjectTableScanRule会把Table转化成..

2020-12-21 19:55:01 407 1

原创 drds-tpcc

修改自https://help.aliyun.com/document_detail/139634.html?spm=5176.11065259.1996646101.searchclickresult.5fac276e6bTIdLcreate table config ( cfg_name varchar(30) primary key, cfg_value varchar(50));create table warehouse ( w_id integ

2020-12-21 16:46:43 125 1

原创 csr8510对应win10即插即用驱动

Generic Bluetooth Adapter2006/6/21

2020-10-29 17:18:35 2480

原创 [show create table]mysql.proc

CREATE TABLE `mysql`.`proc` ( `db` varchar(64) DEFAULT NULL, `name` varchar(64) DEFAULT NULL, `type` enum('FUNCTION','PROCEDURE','PACKAGE', 'PACKAGE BODY'), `specific_name` varchar(64) DEFAULT NULL, `language` enum('SQL'), `sql_data_access`...

2020-10-26 17:17:49 153

原创 win10安装teamviewer后无法调节亮度

回滚监视器驱动

2020-10-18 18:09:17 305

原创 使用betterJoy导致开始菜单中自动滚动

在带有管理员权限的cmd执行就可以解决问题sfc /scannowxbox_controller.SubmitReport()会触发这个问题xbox360使用ViGEm实现,所以使用ViGEm实现的控制器驱动都可能有这个问题

2020-10-10 20:29:37 2227 2

原创 yuzu编译日志

用于对于确认是否生成项目文件-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.-- The C compiler identification is MSVC 19.27.29112.0-- The CXX compiler identification is MSVC 19.27.29112.0-- Detecting C compiler ABI info-- Detecting C com

2020-10-08 17:25:58 1852

原创 通过更改cmake的源码实现使用代理的下载命令

一些使用cmake构建的项目,使用file(download)file(download)命令拉取网上资源构建,通过查询资料,可以通过设置系统环境变量指定cmake使用的crul使用代理,该crul是在项目源码上编译嵌入的,而非外部shell调用.如果设置的代理不生效,则需要更改源码实现.0.具有vs ide环境1.上cmake官网下载源码2.使用cmake构建cmake,并生成vs项目3.找到cmake-3.18.4\cmake-3.18.4\Source\cmFileCo.

2020-10-08 17:15:21 1945

原创 BetterJoy_v6.4a_x64 不能显示窗口,无法启动

以下情况很可能出现这个情况1.使用国行joycon手柄2.使用BetterJoy_v6.3_x64能正常使用,而BetterJoy_v6.4a_x64不能解决版本BetterJoyForCemu.exe.Config文件并更改NonOriginalController为true。

2020-10-05 23:26:15 4949 2

原创 [Apache Calcite] 添加calcite类型转换规则

org.apache.calcite.sql.type.SqlTypeAssignmentRule 添加TIME TO INTERVAL_TYPES 与INTERVAL_TYPES TO TIME //TIME TO INTERVAL_TYPES rule.clear(); rule.addAll(SqlTypeName.INTERVAL_TYPES); rules.add(SqlTypeName.TIME, rule); rules.add(SqlTyp...

2020-09-29 18:22:39 531

原创 Mycat1.6存储过程支持

要支持这个,要检查Mycat前端后端都支持两种情况1.mycat能响应无字段报文的单个结果集,即只有row包2.mycat能支持多语句响应的结果集和ok包当然最好的办法是强制mysql服务总是发送带有字段的结果集并不使用多语句,mycat1675是支持的,具体是https://blog.csdn.net/qq_31183071/article/details/102653151SELECT @p_id AS c;是把结果作为查询语句返回,这句是关键...

2020-09-15 16:38:40 545

原创 Mycat2优化器-2020-9-1

optimizer-Mycat2.0Mycat2优化器author:chenjunwen 2020-8-20This work is licensed under aCreative Commons Attribution-ShareAlike 4.0 International License.前言​ 本文描述的设计细节,大部分已经实现,有小部分没有完全实现。​ Mycat2减少使用人类理解编写的SQL解析路由和基于经验制作的查询引擎的思路来实现查询引擎,取而代之,使用基于关系..

2020-09-12 12:32:47 570

原创 [Apache Calcite] 允许使用未定义的sql函数

org.apache.calcite.sql.validate.SqlValidator.Config#withLenientOperatorLookup设置为true SqlValidator.Config.DEFAULT.withSqlConformance(calciteConnectionConfig.conformance()) .withTypeCoercionEnabled(true).withLenientOperatorLookup(...

2020-08-20 15:16:22 368

原创 git移除已经add但是没有提交的文件

git reset HEAD .

2020-07-28 16:37:08 863

原创 [zabbix]cat ‘/home/cjw/create (1).sql/data‘ | mysql -uzabbix -p123456 -Dzabbix ERROR 1049 (42000):

ERROR 1049 (42000): Unknown database 'zabbix'cat '/home/xx/create (1).sql/data' | mysql -uzabbix -p123456 -DzabbixERROR 1049 (42000): Unknown database 'zabbix'解决 cat '/home/xx/create (1).sql/data' | mysql -uzabbix -p123456 -Dzabbix...

2020-07-02 22:59:40 242

原创 [Zabbix]at line 165: Specified key was too long; max key length is 767 bytes

create database zabbix character set utf8 collate utf8_bin;

2020-07-02 22:58:08 442

原创 zabbix不显示mysql数据源

PHP环境没有支持mysqlapt-get install php7.0-mysql

2020-07-02 22:33:23 538

原创 zabbix缺乏create.sql.gz

1.到官网下载源码2.找到此文件夹zabbix-3.0.31.tar\zabbix-3.0.31\database\mysql\3.schema.sql,images.sql,data.sql依次导入例子cat data.sql | mysql -uzabbix -p zabbix

2020-07-02 19:52:46 6689 2

原创 grafana安装插件,例如cloudspout-button-panel

适用于windowsgrafana-cli --pluginUrl xxxxx/cloudspout-cloudspout-button-panel-7.0.3-0-gb4b3193.zip plugins install cloudspout-button-panel

2020-07-01 17:29:56 465 1

原创 com.github.oshi 应用信息监控库

<!-- https://mvnrepository.com/artifact/com.github.oshi/oshi-dist --><dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-dist</artifactId> <version>5.2.0</version> <type&g...

2020-06-29 14:16:31 3128

原创 Java URL获取本地文件

URL url = new URL("file:/D:/xxxx.yml"); try(InputStream is = url.openStream()){ String read = Utils.read(is); System.out.println(); }

2020-06-23 23:59:41 4706

原创 使用java.sql.Statement的时候,连接被服务器关闭

使用java.sql.Statement的时候,连接被服务器关闭Caused by: java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at jav...

2020-06-23 22:48:34 474

原创 git丢弃修改文件

git checkout . && git clean -xdf

2020-06-23 00:30:58 452

原创 Mycat1.6 偶然记录只有一条

解决办法:设置后端连接方式为jdbc或者升级到1675Mycat-server-1.6.7.5-test-20200303154735@zhouwenqing1.增加SET SQL_SELECT_LIMIT=NIDEFAULT语句解析,保存解析结果到前端连接,发送语句到后端查询的时候再传递到后端。防止前端设置了这个值,后端连接给其他查询语句使用返回结果被限制问题(只返回1条记录集)2.修正旧版mysql客户端发送COM_FIELD_LIST命令,获取表字段信息时只有feldEof没有R

2020-06-17 22:20:28 275 1

原创 强制回滚提交到Github的记录

本地操作git reset xxxgit push -u origin master -f

2020-06-16 17:45:03 295

gtk-3.24.zip(添加放置路径说明文件)

https://github.com/GtkSharp/Dependencies/blob/master/gtk-3.24.zip

2020-09-21

空空如也

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

TA关注的人

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