The invention discloses a method and a system for the function of query, including the function of query methods: S1, the expressions SQL query into functional languages; S2, expressions of functional language compiler to generate multiple query instructions and at least one non inquiry instruction, S3; the sending multiple query commands to multiple threads to run in parallel, respectively on more than a list of query and generate query results; S4, running the thread in the non query instructions to operate on the query results. The expressions SQL query into functional languages to query execution plan, so as to realize the multi table connection, realize concurrent scan data and filtering, so as to improve the query efficiency.
【技术实现步骤摘要】
函数式查询方法及系统
本专利技术属于计算机的查询优化领域,尤其涉及一种函数式查询方法及系统。
技术介绍
关系型数据库的查询计划以二叉树形式组织,从叶节点向上,通过各个节点的计算,最终汇总为查询结果,当涉及多表连接时,单线程进行数据扫描,在高性能的磁盘和CPU(中央处理器)配置下,无法充分利用硬件优势且执行效率太低。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中在多表连接情况下,查询语句的执行效率较低的缺陷,提供一种函数式查询方法及系统。本专利技术是通过下述技术方案来解决上述技术问题:一种函数式查询方法,包括:S1、将SQL(结构化查询语言)查询语句转换为函数式语言的表达语句;S2、将函数式语言的表达语句进行编译生成多个查询指令和至少一个非查询指令;S3、将所述多个查询指令发送到多个线程上并行运行,以分别对多个列表进行查询并生成查询结果;S4、在线程上运行所述非查询指令,以对所述查询结果进行运算。较佳地,步骤S1包括:S101、将SQL查询语句进行语法处理生成语法树,所述语法树包括语法元素和执行操作;S102、根据所述语法元素和所述执行操作查询数据字典获取对应的SQL数据库对象和SQL执行操作;S103、根据映射表将所述SQL数据库对象和所述SQL执行操作转化为对应的函数式语言的参数和函数式语言的执行操作并生成函数式语言的表达语句。较佳地,所述函数式查询方法还包括:S5、根据非查询指令的运算结果生成结果集。一种函数式查询系统,包括:表达转换模块,用于将SQL查询语句转换为函数式语言的表达语句;指令生成模块,用于将函数式语言的表达语句进行编译生成多 ...
【技术保护点】
一种函数式查询方法,其特征在于,包括:S1、将SQL查询语句转换为函数式语言的表达语句;S2、将函数式语言的表达语句进行编译生成多个查询指令和至少一个非查询指令;S3、将所述多个查询指令发送到多个线程上并行运行,以分别对多个列表进行查询并生成查询结果;S4、在线程上运行所述非查询指令,以对所述查询结果进行运算。
【技术特征摘要】
1.一种函数式查询方法,其特征在于,包括:S1、将SQL查询语句转换为函数式语言的表达语句;S2、将函数式语言的表达语句进行编译生成多个查询指令和至少一个非查询指令;S3、将所述多个查询指令发送到多个线程上并行运行,以分别对多个列表进行查询并生成查询结果;S4、在线程上运行所述非查询指令,以对所述查询结果进行运算。2.如权利要求1所述的函数式查询方法,其特征在于,步骤S1包括:S101、将SQL查询语句进行语法处理生成语法树,所述语法树包括语法元素和执行操作;S102、根据所述语法元素和所述执行操作查询数据字典获取对应的SQL数据库对象和SQL执行操作;S103、根据映射表将所述SQL数据库对象和所述SQL执行操作转化为对应的函数式语言的参数和函数式语言的执行操作并生成函数式语言的表达语句。3.如权利要求1所述的函数式查询方法,其特征在于,所述函数式查询方法还包括:S5、根据非查询指令的运算结果生成结果集。4.一种函数式查询系统,...
【专利技术属性】
技术研发人员:姜宇祥,
申请(专利权)人:上海携程商务有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。