首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏刷题笔记

    2-9 彩虹瓶 (20 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/101155502 2-9 彩虹瓶 (20 分) ?

    96130发布于 2019-11-08
  • 来自专栏芋道源码1024

    Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析

    解析器 StatementParser :SQL语句解析器 SQLParsingEngine 调用 StatementParser 解析 SQL。 其 #parse() 方法作为 SQL 解析入口,本身不带复杂逻辑,通过调用 SQL 对应的 StatementParser 进行 SQL 解析解析器,主要提供只考虑 SQL 块的解析方法,不考虑 SQL 上下文。 下篇《查询SQL解析解析表会用到这个方法。 StatementParser SQL语句解析器 4.1 StatementParser StatementParser,SQL语句解析器。每种 SQL,都有相应的 SQL语句解析器实现。

    2.2K50发布于 2018-03-02
  • 来自专栏Linux云计算网络

    算法导论2-9章补充几道题

    本篇博文意在对前几章中遗漏的,本人觉得有意思的习题当独拿出来练练手。 1、习题2-4,求逆序对,时间复杂度要求Θ(nlgn) 定义:对于一个有n个不同的数组A, 当i<j时,存在A[i]>A[j],则称对偶(i, j)为A的一个逆序对。 譬如:<2,3,8,6,1>有5个逆序对。 解题思路:归并排序的思想:逆序对的数量=左区间的逆序对+右区间的逆序对+合并的逆序对 代码如下: 1 #include <iostream> 2 #include <vector> 3 using namespace std

    76850发布于 2018-01-11
  • 来自专栏小赵的Java学习

    Mybatis动态SQL解析

    文章目录 1 为什么需要动态SQL? 2 动态标签有哪些? 3 举例说明 if choose (when, otherwise) trim (where, set) foreach 1 为什么需要动态SQL? 看一段Oracle存储过程代码: 由于前台传入的查询参数不同,所以写了很多的if else,还需要非常注意SQL语句里面的and、空格、逗号和转移的单引号这些,拼接和调试SQL就是一件非常耗时的工作 MyBaits的动态SQL就帮助我们解决了这个问题,它是基于OGNL表达式的。 2 动态标签有哪些? -- 动态SQL where 和 if --> <select id="selectBlogListIf" parameterType="blog" resultMap="BaseResultMap

    69040编辑于 2022-12-02
  • 来自专栏全栈程序员必看

    SQL SERVER实例解析

    什么是SQL SERVER实例 ———— SQL SERVER实例的概念和“类与对象”的概念很相似。 因此,所谓的“SQL SERVER实例”,实际上就是被安装在计算机上的某个完整的SQL SERVER服务器(或者,为了与硬件服务器的概念相区别,可以把SQL SERVER实例称为SQL SERVER服务器引擎 注:这里所说的“完整”的SQL SERVER服务器,是指每一个SQL SERVER实例可以包括所有可选的SQL SERVER服务器组件,包括数据库引擎、Analysis Services、Reporting 每个SQL Server实例都有一组自己独占的程序文件和数据文件,另外,还有一组所有SQL SERVER实例所共享的程序文件和数据文件。 ———— 查看已安装的SQL SERVER 实例名的方法 1.开始菜单——-SQL SERVER配置管理器———SQL SERVER服务,这里可以看到已安装的实例名。

    1.9K10编辑于 2022-07-15
  • 来自专栏麒思妙想

    扩展 Spark SQL 解析

    今天跟大家分享下Spark吧,谈谈如何修改Spark SQL解析,让其更符合你的业务逻辑。好,我们开始吧... 语法识别一般分为二个阶段: 1.词法分析阶段 (lexical analysis) 对应的分析程序叫做 lexer ,负责将符号(token)分组成符号类(token class or token type) 2.解析阶段 扩展语法定义 一条正常SQL,例如 Select t.id,t.name from t , 现在我们为其添加一个 JACKY表达式,令其出现在 Select 后面 ,形成一条语句 Select t.id ,我们可以看到jackyExpression已经可以正常解析了。 Spark 执行流程 这里引用一张经典的Spark SQL架构图 ? 我们输入的 SQL语句 首先被解析成 Unresolved Logical Pan ,对应的是 ?

    1.4K70发布于 2021-04-23
  • 来自专栏猿计划

    SQL-JOIN全解析

    SQL-JOIN全解析 一、SQL JOIN的作用是什么? 二、四种JOIN的区别 三、如何使用各种join (一)准备测试数据 (二)左连接 (三)右连接 (四)内连接 (五)外连接 四、总结 一、SQL JOIN的作用是什么? SQL JOIN的作用就是把来自多个表的数据行,根据一定的规则连接起来,形成一张大的数据表。 In the general case, the conversion is performed such that this right join: 在解析器阶段,具有右外部连接的查询会被转换为仅包含左连接操作的相等查询 那么这个sql就是舍弃掉了为null的数据。 (三)右连接 ? 这个的用法和左连接正好相反,可以在脑子中想想一下。 不罗嗦了,直接看效果吧。

    3.7K41发布于 2020-10-26
  • 来自专栏一个会写诗的程序员的博客

    SQL 解析器:值类型解析设计

    this.value); } @Override public Long getValue() { return this.value; } } 值类型对象解析器 /** * 解析 fieldValue 值 */ fun parseFieldValue(fieldCondition: FieldCondition, fieldValueType: KFieldValueType

    68411编辑于 2022-03-23
  • 来自专栏数据库与编程

    Oracle LogMiner 核心 SQL 解析

    LogMiner在工作过程中大量依赖底层系统视图(如VLOGMNR_CONTENTS、SYSTEM.LOGMNR系列表)以及一系列精心设计的SQL查询。 本文将带你逐条深入了解LogMiner背后的关键SQL,揭开高效日志解析的秘密。 1. ; 目的:列出所有当前会话(LOGMNR_UID)中解析到的有效表。 用途:用于确定从哪个位置开始解析日志(比如初次启动、断点恢复时)。 6. 解释: 每一行代表一个Redo日志中的变更事件; 包括事务ID(XID)、变更类型(operation_code)、实际SQLSQL_REDO)、表信息等; DML/ DDL/ 事务边界(START/

    35510编辑于 2025-04-27
  • 来自专栏小道

    SQL Server索引解析(Index)

    索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 。   但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好。 索引建多了,不利于新增、修改和删除等操作,因为做这些操作时,SQL SERVER 除了要更新数据表本身,还要连带立即更新所有的相关索引,而且过多的索引也会浪费硬盘空间。 如果指定的索引名称已经存在,SQL Server 将显示一个错误。 ONLINE = {ON |OFF}:表示建立索引时是否允许正常访问,即是否对表进行锁定。默认为 OFF。   

    1.9K40发布于 2021-04-13
  • 来自专栏springboot

    Mybatis源码解析(四):sql语句及#{}、${}的解析

    动态sql如何进行的解析SQL 以上准备工作已完成,接下来开始解析工作 回到createSqlSource创建方法,进入builder.parseScriptNode();解析方法 parseDynamicTags:解析动态标签 将动态SQL标签中的SQL信息分别封装到不同的SqlNode 如下图:一个<select>标签分两部分,文本节点和元素节点;XNode node传递过来的正是此标签解析的对象 SQL语句中带有${ parser.parse(originalSql); } // 将解析之后的SQL信息,封装到StaticSqlSource对象中 // SQL字符串是带有? #{属性值}解析sql带?

    50610编辑于 2025-01-21
  • 来自专栏chenssy

    【死磕Sharding-jdbc】---SQL解析-INSERT解析

    INSERT语法 分析insert解析之前,首先看一下mysql官方对insert语法的定义,因为SQL解析跟语法息息相关: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY 接下来分析sharding-jdbc是如何解析insert类型的SQL语句的,通过 SQLStatementresult=sqlParser.parse();得到SQL解析器后,执行AbstractInsertParser 中parse()方法解析insert sql,核心源码如下: @Overridepublic final DMLStatement parse() { lexerEngine.nextToken( ()在之前的文章已经分析过(戳链接),即跳到下一个token,由于任意SQL解析都会在SQLParsingEngine中调用lexerEngine.nextToken(),这里再调用lexerEngine.nextToken 5步就是调用 insertClauseParserFacade.getInsertValuesClauseParser().parse(result);,即解析insert into sql中的value

    1.5K20发布于 2018-08-16
  • 来自专栏咸鱼学Python

    SQL | 44道经典 SQL 笔试题与答案解析

    作者:tomocat 来源:知乎 00 相关推荐 SQL | 数据分析面试必备SQL语句+语法 SQL | 开发人员必学的几点 SQL 优化点 接下来是是关于44道经典SQL测试题 01 建表语句

    11.3K30发布于 2020-04-08
  • 来自专栏IT技术圈

    练习2-9 整数四则运算 (10分)

    本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。

    1.5K30发布于 2021-02-24
  • 来自专栏大数据成神之路

    Flink SQL Window源码全解析

    由于flink-planner-blink SQL中目前只支持TimeWindow相应的表达语句(TUMBLE、HOP、SESSION),因此,本文主要介绍TimeWindow SQL示例和逻辑,CountWindow ProcessingTime Calcite解析引擎: 2.1 Calcite SQL解析,包括逻辑、优化、物理计划和算子绑定(#translateToPlanInternal),在本文特指StreamExecGroupWindowAggregateRule TableConifg配置earlyFireInterval、lateFireInterval毫秒数,来指定窗口结束之前、窗口结束之后的触发策略(默认是watermark超过窗口结束后触发一次),策略的解析在 WindowEmitStrategy,在StreamExecGroupWindowAggregateRule就会创建和解析这个策略 SQL方式指定Trigger:Flink1.9.0代码中calcite 策略是指在Flink SQL 中,query的输出策略(如能忍受的延迟)可能在不同的场景有不同的需求,而这部分需求,传统的 ANSI SQL 并没有对应的语法支持。

    2.2K30发布于 2019-12-05
  • 来自专栏Java技术编程

    Mybatis 解析 SQL 源码分析一

    属性不一致时定义的 resultMap等,接下来就来看下Mybatis 是如何从配置文件中解析SQL 并把用户传的参数进行绑定; 在 Mybatis 解析 SQL的时候,可以分为两部分来看,一是从 Mapper.xml 配置文件中解析SQL,二是把 SQL 解析成为数据库能够执行的原始 SQL,把占位符替换为 ? 解析 <sql> 节点 <sql> 节点可以用来定义重用的SQ片段, 1 <sql id="commSQL" databaseId="" lang=""> 2 id, name, job 关于这些与操作数据库的SQL解析,主要是由 XMLStatementBuilder 类来进行解析。 子节点 解析include节点就是把其包含的SQL片段替换成 <sql> 节点定义的SQL片段,并将 ${xxx} 占位符替换成真实的参数: 它是使用 XMLIncludeTransformer 类的

    80130发布于 2020-05-21
  • 来自专栏AI.NET极客圈

    SQL Server之索引解析(二)

    /sql-server-2008-r2/ms174384(v=sql.105) -- 打开IO开销统计 set STATISTICS io ON -- 打开执行时间统计 set STATISTICS TIME 3.3 跟踪代码生成的SQL语句 Sql Profiler 用于跟踪程序生成的语句。 以下语句用于跟踪,在线运行时,SQL操作用时比较长的语句 SELECT TOP 50 total_worker_time/execution_count AS [Avg CPU Time], (SELECT nvarchar(max), text)) * 2 ELSE statement_end_offset end -statement_start_offset)/2) FROM sys.dm_exec_sql_text (sql_handle)) AS query_text, * FROM sys.dm_exec_query_stats ORDER BY [Avg CPU Time] DESC 以下语句用于查询数据库死锁

    1.1K30发布于 2019-07-19
  • 来自专栏Flink实战剖析

    使用Calcite做Sql语法解析

    Flink SQL中使用Calcite作为sql语法解析、校验、优化工具,本篇是实操篇,介绍一下calcite做sql语法解析使用方式。 sql经过calcite解析之后,得到一棵抽象语法树,也就是我们说的AST,这棵语法树是由不同的节点组成,节点称之为SqlNode,根据不同类型的dml、ddl得到不同的类型的SqlNode,例如select ) FROM orders //解析sql //解析select部分 selectList.getList().forEach(x->{ if(SqlKind.SUM.equals(x.getKind sql //解析select部分 selectList.getList().forEach(x->{ if(SqlKind.CAST.equals(x.getKind())){ SqlBasicCall 以上介绍了一下calcite解析sql的简单使用方式,我们可以使用Calcite来做血缘分析、flink sql维表关联等。 —END—

    3.7K31编辑于 2022-04-18
  • 来自专栏大数据-BigData

    通过SQL解析与优化

    本文讲述了通用SQL解析与优化。

    63510编辑于 2022-03-31
  • 来自专栏全栈程序员必看

    解析excel拼接SQL 小脚本

    由于数据同步原因,我们经常会受到对方给的excel文件去同步字段到数据库 这种情况遇到过多次,如果数据量小还好,手动拼一下Sql,如果对方给的同步数据过大,那么我采用了一个小脚本处理这件事 其实非常简单 ,读取同步excel,同时根据字段转存为sql文件,涉及到文件边读边写,然后处理拼接sql的操作 下面是 csv文件转sql语句 package com.group.wordskey.file; import sit01\\sit01.csv"; String outPath = "C:\\Users\\10015467\\Desktop\\poi\\sit01\\200827b-aaa-DDL.sql consumablesTypeName = "\'\'"; } } //字段8 ,因为这里是一个逗号分隔的字符串,所以放在最后解析 colors = "\'\'"; } } String sql

    93720发布于 2021-04-07
领券