CN101021874A - 一种对查询sql请求进行优化的方法及装置 - Google Patents
一种对查询sql请求进行优化的方法及装置 Download PDFInfo
- Publication number
- CN101021874A CN101021874A CN 200710087222 CN200710087222A CN101021874A CN 101021874 A CN101021874 A CN 101021874A CN 200710087222 CN200710087222 CN 200710087222 CN 200710087222 A CN200710087222 A CN 200710087222A CN 101021874 A CN101021874 A CN 101021874A
- Authority
- CN
- China
- Prior art keywords
- relation
- processing unit
- select
- syntax tree
- optimized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对查询SQL请求进行优化的方法和装置,其中所述方法包括:规范处理查询SQL语句中的字段名及别名;去掉所述S查询SQL语句中的冗余的关联关系;将所述查询SQL语句转换为语法树;将所述语法树进行逻辑关系优化;将优化后的语法树转化为标准查询SQL语句。本发明通过自动化的对SELECT SQL进行优化处理,达到使其最快的执行、占用最少的数据库资源的效果,减少数据库资源的消耗,从而提高整个查询过程的效率。
Description
技术领域
本发明涉及数据库应用领域,特别是涉及对查询SQL请求进行优化领域。
背景技术
在大型的软件应用系统中,经常需要把程序和数据库结合起来进行使用,在应用系统中,涉及到的数据量特别大,对于中大型应用,数据库记录数在百万数量级以上,数据库系统需要同时处理来自多个客户端的SQL(StructuredQuery Language,结构化查询语言)请求,数据库系统的处理速度成为系统运行速度的瓶颈。对于质量不高的SELECT SQL请求(查询SQL语句),其中可能包含有冗余的列、数据库表连接和过滤条件等,这些都会影响数据库系统的性能、增加数据库锁和数据库资源的消耗,并影响SELECT SQL的并发执行,进而影响整个应用系统的正常运行;对于数据库系统本身的数据库表的优化一般在库表设计过程中完成,例如,合理的设计表的结构、增加键和索引等。于是,如何优化应用系统发送给数据库系统的SELECT SQL语句,以达到使其最快的执行、占用最少的数据库资源成为软件开发过程中要解决的问题。在现有技术中,一般通过下面两种方法来解决这个问题:
1、将应用程序发送给数据库系统的SELECT SQL代码做静态分析,采用人工方式提高SELECT SQL质量,减少其中表连接、多余列名和冗余的过滤条件。由于一个应用系统往往有上千、甚至上万条不同的SQL运行,这种方法的缺点是工作量极大,耗费大量人力资源,成本高,优化效率低。
2、对于采用O-R Mapping Select SQL系统生成的SELECT SQL,由于SELECTSQL是动态生成的,不能进行静态分析,可以由专业的数据库优化专家,逐个跟踪分析优化O-R Mapping Select SQL的执行计划。但这种方法的工作量也非常大,使用专家的成本高,优化效率低。
可见,在现有的SELECT SQL优化方法中,存在着优化成本高和优化效率低的问题。
发明内容
本发明所要解决的技术问题是提供一种对查询SQL请求进行优化的方法及装置,以解决现有技术存在的优化成本高和优化效率低的问题。
为了解决上述问题,根据本发明的一个实施例,公开了一种优化方法,包括:规范处理查询SQL语句中的字段名及别名;去掉所述S查询SQL语句中的冗余的关联关系;将所述查询SQL语句转换为语法树;将所述语法树进行逻辑关系优化;将优化后的语法树转化为标准查询SQL语句。
其中,所述去掉所述查询SQL语句中的冗余的关联关系,优选的,可以是去除冗余的列、去除冗余的链接关系或者去除冗余的查询条件。
优选的,所述对语法树进行优化是优化所述语法树中的分组条件、HAVING关系、链接关系、SELECT关系或排序规则。
根据本发明的另一个实施例,公开了一种对查询SQL请求进行优化的装置,包括,
规范处理单元,用于规范处理查询SQL语句中的字段名及别名;
冗余处理单元,用于去掉所述查询SQL语句L中的冗余的关联关系;
第一转换单元单元,用于将所述查询SQL语句转换为语法树;
优化处理单元,用于将所述语法树进行逻辑关系优化;
第二转换单元单元,用于将优化后的语法树转化为标准查询SQL语句。
其中,优选的,所述冗余处理单元包括:
冗余列处理单元,用于去除冗余的列;或者,
冗余链接关系处理单元,用于去除冗余的链接关系;或者,
冗余查询条件处理单元,用于去除冗余的查询条件关系。
其中,优选的,所述优化处理单元包括:
分组条件优化处理单元,或者,
HAVING关系优化处理单元,或者,
链接关系优化处理单元,或者,
SELECT关系优化处理单元,或者,
排序规则优化处理单元;
所述分组条件优化处理单元,用于优化分组条件;所述HAVING关系优化处理单元,用于优化HAVING关系;所述链接关系优化处理单元,用于优化链接关系;所述SELECT关系优化处理单元,用于优化SELECT关系;所述排序规则优化处理单元,用于优化排序规则。
与现有技术相比,本发明具有以下优点:
1、本发明通过自动化的对SELECT SQL进行优化处理,达到使其最快的执行、占用最少的数据库资源的效果,减少数据库资源的消耗,从而提高整个查询过程的效率。
2、本发明在优化过程中能够自动的进行冗余的关联关系和语法树的逻辑关系的优化,提高了优化的速度,优化效率高。
附图说明
图1是本发明的方法实施例1流程图;
图2是本发明的方法实施例2流程图
图3a是本发明的方法实施例2语法树;
图3b是本发明的方法实施例2关系代数语法树;
图3c是本发明的方法实施例2优化后的关系代数语法树;
图4a是本发明的装置实施例框图;
图4b是本发明的装置实施例的冗余处理单元框图;
图4c是本发明的装置实施例的优化处理单元框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在关系型数据库中,查询是使用的比较多的功能,在现在的查询语言中,用户只需要提出“做什么”,而不需要告诉“怎么做”,而具体的查询的实现都交于数据库系统处理,节约了编程的时间,但也造成提交的查询语句不够优化,存在着冗余的各种操作关系,以至于查询执行的效率低、占用数据库的资源,影响整个应用系统的正常运行。
参见图1,是本发明的方法实施例1流程图,包括:
步骤101,规范处理SELECT SQL中的字段名及别名。
在实际有人工手写或者由O-R Mapping系统生成的SELECT SQL中,经常存在着字段名和别名不规范的问题,影响查询的优化,所以要先规范处理好这些字段名和别名的表示方法。例如,将没有标识表名的字段替换为“原始表名.原始字段名”或者“原始表别名.原始字段名”的形式,如,
SELECT name FROM t1″O″
可以规范为:
SELECT ″O″.name FROM t1″O″。
所述规范处理过程通过实现预置的规范表实现即可,也可以通过预置一定的转换数据操作而实现。例如,将所有的表名、列名统一转换为大写,预防不同数据库带来的大小写敏感;对表名、列名自动加上转义符,从而保证不会因为与数据库关键字冲突导致SQL出错。
步骤102,去掉所述SELECT SQL中的冗余的关联关系。
常见的冗余的关系有:SELECT SQL的多余的连接关系、多余的条件关系和多余的参加运算的列,这些冗余造成了无用的运算,耗费了数据库系统的资源,降低的执行效率,可以通过逻辑分析识别出这些冗余关系,并去除这些冗余关系。而逻辑分析的策略可以预置在用于优化的程序代码中。
步骤103,将所述SELECT SQL转换为语法树。
将所述SELECT SQL转换为语法树后,可以采用关系代数运算来表示其逻辑关系。
步骤104,将所述语法树进行逻辑关系优化。
根据查询优化准则和关系代数的等价变换原则对语法树的逻辑关系进行优化。由于本发明中涉及的一些SQL语句为本领域技术人员熟知的,并且翻译为中文存在不准确的瑕疵,所以下面基本通过英文的形式加以介绍。
所述查询优化准则可以包括下面的优化策略:
(1)选择运算应尽可能先做。
在优化策略中这是最重要、最基本的一条。它常常可使执行时节约几个数量级,因为选择运算一般使计算的中间结果的数量大大变小,减少了后续运算的数据量。
(2)在执行连接运算前对关系适当地预处理。
预处理方法主要有两种:索引连接方法、排序合并(SORT-MERGE)连接方法。
所述索引连接方法是在连接属性上建立索引,然后执行连接。
所述排序合并连接方法是对关系排序,然后执行连接。
(3)把投影运算和选择运算同时进行。
如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完成所有的这些运算以避免重复扫描关系。
(4)把投影同其前或其后的双目运算结合起来,没有必要为了去掉某些字段而扫描一遍关系。
(5)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算,特别是等值连接运算要比同样关系上的笛卡尔积省很多时间。
(6)找出公共子表达式。
如果某个子表达式重复出现,且结果不是很大的关系,并且从外存中读人这个关系比计算该子表达式的时间少得多,则先计算一次公共子表达式并把结果写人中间文件是合算的。当查询的是视图时,定义视图的表达式就是公共子表达式的情况。
优化策略中大部分都涉及到关系代数表达式的变换。关系代数表达式的优化是查询优化的基本课题。研究关系代数表达式的优化可以从研究关系表达式的等价变换规则开始。
两个关系表达式E1和E2是等价的,可记为E1≡E2。
所述关系代数的等价变换原则可以包括:
(1)连接、笛卡尔积交换律。
设E1和E2是关系代数表达式,F是连接运算的条件,则有:
E1×E2≡E2×E1
(2)连接、笛卡尔积结合律。
设E1、E2、E3是关系代数表达式,F1和F2是连接运算的条件,则有:
(E1×E2)×E3≡(E1×E2)×E3
(3)投影的串接定律。
πA1,A2,...,An(πB1,B2,...,Bm(E))≡πA1,A2,...,An(E)
这里E是关系代数表达式,Ai(i=1,2,...,n),Bj(j=1,2,..,m)是属性名且{A1,A2,...,An}构成{B1,B2,...,Bm}的子集。
(4)选择的串接定律。
σF1(σF2(E))≡σF1F2(E)
这里E是关系代数表达式,F1和F2是选择条件。
串接定律说明:选择条件可以合并,这样扫描一遍就可以检测全部条件。
(5)选择与投影的交换律。
σF(πA1,A2,...,An(E))≡πA1,A2,...,An(σF(E))
如果选择条件F只涉及属性A1,A2,...,An。若F中有不属于A1,A2,...,An的属性B1,B2,...,Bn,则有:
πA1,A2,...,An(σF(E))≡πA1,A2,...,An(σF(πA1,A2,...,An,B1,B2,...,Bm(E))
(6)选择与笛卡尔积的交换律。
如果F中涉及的属性都是E1中的属性,则有:
σF(E1×E2)≡σF(E1)×E2
如果F=F1F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则可推出:
σF(E1×E2)≡σF1(E1)×σF2(E2)
若F1只涉及E1中的属性,F2只涉及E1和E2两者的属性,仍有:
σF(E1×E2)≡σF2(σF1(E1)×E2)
使得部分选择在笛卡尔积前先做。
(7)、选择与并的交换。
设E=E1∪E2,E1,E2有相同的属性名,则有:
σF(E1∪E2)≡σF(E1)∪σF(E2)
(8)选择与差运算的交换。
若E1,E2有相同的属性名,则有:
σF(E1-E2)≡σF(E1)-σF(E2)
(9)、投影与笛卡尔积的交换。
设E1,E2是两个关系表达式,A1,A2,...,An是E1的属性,B1,B2,...,Bn是E2的属性,则有:
πA1,A3,...,An,B1,B3,...,Bm(E1×E2)≡πA1,A3,...,An(E1)×πB1,B2,...,Bm(E2)
(10)投影与并交的交换。
若E1,E2有相同的属性名,则有:
πA1,A2,...,An,B1,B2,...,Bm(E1∪E2)≡πA1,A3,...,An(E1)∪πA1,A3,...,An(E2)
步骤105,将优化后的语法树转化为标准SELECT SQL。
经过此步骤生成的SELECT SQL是优化后的查询语句。
优选的,所述去掉所述SELECT SQL中的冗余的关联关系是去除冗余的列、去除冗余的JOIN关系(链接关系)或者去除冗余的WHERE关系(查询条件)。举例如下。
优化例1。
原SQL:
SELECT″A″.name
FROM t1 AS″A″
LEFT JOIN t2″B″
ON″A″.id=″B″.id
LEFT JOIN t3″C″
ON ″A″.id=″C″.id
JOIN的关联:
A.id->B.id
A.id->C.id
因为SELECT中只用到了表A的name字段,也就是说:B.id以及C.id的关联是多余的。
所以可以优化为:
SELECT″A″.Name FROM T1″A″
优化例2。
原SQL:
SELECT a.data
FROM a
LEFT OUTER JOIN b
ON a.fid=b.fid
WHERE b.fid=0
AND c.fnum=0
JOIN的关联:
id->B.id
WHERE条件:
b.fid=0
c.fnum=0
因为过滤条件已经对b.fid有限制,所以JOIN中关联是多余的。优化为:
SELECT a.data FROM a WHERE(a.fid=0 AND c.fnum=0)
优化例3。
SELECT″O″.name″NUM″
FROM t1″O″
LEFT OUTER JOIN t2″B″
ON″A″.id=″B″.id
LEFT JOIN t3″C″
ON″B″.id=″C″.id
WHERE ″C″.num=123
分析如下,
关联条件:
A.id->B.id
B.id->C.id
过滤条件为:C.num
查询列为:O.name
根据关联关系可以得出:B表冗余,即关联关系替换为:A.id->C.id。由于C.num为过滤条件,所以不能去掉C的关联。
优化结果为:
SELECT″O″.name″NUM″
FROM t1″O″
LEFT OUTER JOIN t3″C″
ON″A″.id=″C″.id
WHERE″C″.num=123
如果优化例3的SQL变为:
SELECT″O″.name″NUM″
FROM t1″O″
LEFT OUTER JOIN t2″B″
ON″A″.id=″B″.id
LEFT JOIN t3″C″
ON″B″.id=″C″.id
那么优化结果为:
SELECT″O″.name″NUM″FROM t1″O″
优选的,所述对语法树进行优化是优化所述语法树中的GROUP BY关系(分组条件)、HAVING关系、JOIN关系(链接关系)、SELECT关系或ORDER BY关系(排序规则)。
可以根据查询优化准则和关系代数的等价变换原则对语法树的逻辑关系进行优化,其优化的对象可以是GROUP BY关系、HAVING关系、JOIN关系、SELECT关系或ORDER BY关系。所述的优化规则可以预置在用于优化的查询模块中。
参照图2,是本发明的方法实施例2流程图,本实施例以一个具体的SELECTSQL为例,进一步说明优化过程,
本实施例的数据库中包含两个表,学生表Student和学生选课表SC,Student包含学生姓名Sname和学生编号Sno字段,SC包含学生编号Sno和课程编号Cno字段,假定Student中有1000个学生记录,SC中有10000个选课记录,其中选修2号课程的选课记录为50个。
求选修了2号课程的学生姓名。原始SELECT SQL为:
SELECT Sname
FROM Student,SC“S”
JOIN Student ON Student.Sno=SC.Sno
WHERE Student.Sno=SC.Sno AND SC.Cno=′2′
步骤201,规范处理字段名及别名。
由原始SELECT SQL可见,“SELECT Sname”中的“Sname”不规范,缺少表名,应该写为“Student.Sname”;别名“S”其实并没有用到,可以去掉。
经过规范处理后的SELECT SQL为:
SELECT Student.Sname
FROM Student.SC
JOIN Student ON Student.Sno=SC.Sno
WHERE Student.Sno=SC.Sno AND SC.Cno=′2′
步骤202,去掉所述SELECT SQL中的冗余的JOIN关系。
在上述SELECT SQL中的“JOIN Student ON Student.Sno=SC.Sno”和“WHEREStudent.Sno=SC.Sno AND SC.Cno=′2′”中的条件“Student.Sno=SC.Sno”重复,可以去掉“JOIN Student ON Student.Sno=SC.Sno”。得到:
SELECT Student.Sname
FROM Student,SC
WHERE Student.Sno=SC.Sno AND SC.Cno=′2′
步骤203,转换为语法树。
按照逻辑规则将上面步骤中SELECT SQL转换为语法树,参见图3a,是转换后的语法树,具体包括,把Student表和SC表以Student.Sno=SC.Sno做连接,在结果中选择出符合条件SC.Cno=′2′的学生的姓名Student.Sname。
步骤204,转换为关系代数语法树。
按照关系代数的逻辑关系将上面步骤中的语法树转换为关系代数语法树,参见图3b,是转换后的关系代数语法树,具体包括,把S tudent和SC以Student.Sno=SC.Sno做笛卡尔积,在结果中选择出符合条件SC.Cno=′2′的记录的Student.Sname属性值。
步骤205,进行优化。
根据查询优化准则和关系代数的等价变换原则对关系代数语法树的逻辑关系进行优化,把关系代数语法树转换成优化的形式。把选择σSC.Cno=′2′移到叶端,参见3c,是优化后的关系代数语法树,具体包括,以SC.Cno=′2′为条件,选择出SC中的记录,把结果以Student.Sno=SC.Sno条件和Student做笛卡尔积,选择其中的Student.Sname属性值。
步骤206,将优化后的语法树转化为标准SELECT SQL。得到优化后的SELECT SQL为:
SELECT Student.Sname
FROM Student,
SELECT SC.Sno FROM SC WHERE SC.Cno=′2′
WHERE Student.Sno=SC.Sno
本实施例中,通过优化JOIN关系,得到优化后的SELECT SQL,对于GROUPBY关系、HAVING关系、SELECT关系或ORDER BY关系的优化和此类似,作为本领域技术人员容易理解,在此不作赘述。
参见图4a,是本发明的装置实施例1框图,包括:
规范处理单元401,用于规范处理SELECT SQL中的字段名及别名;
冗余处理单元402,用于去掉所述SELECT SQL中的冗余的关联关系;
第一转换单元单元403,用于将所述SELECT SQL转换为语法树;
优化处理单元404,用于将所述语法树进行逻辑关系优化;
第二转换单元单元405,用于将优化后的语法树转化为标准SELECT SQL。
优选的,参见图4b,是本发明的装置实施例的冗余处理单元402框图,包括:
冗余列处理单元4011,用于去除冗余的列;或者,
冗余JOIN关系处理单元4012,用于去除冗余的JOIN关系;或者,
冗余WHERE关系处理单元4013,用于去除冗余的WHERE关系。
优选的,参见图4c,是本发明的装置实施例的优化处理单元404框图,包括:
GROUP BY关系优化处理单元4041,或者,
HAVIN关系优化处理单元4042,或者,
JOIN关系优化处理单元4043,或者,
SELECT关系优化处理单元4044,或者,
ORDER BY关系优化处理单元4045;
所述GROUP BY关系优化处理单元4041,用于优化GROUP BY关系;所述HAVIN关系优化处理单元4042,用于优化HAVING关系;所述JOIN关系优化处理单元4043,用于优化JOIN关系;所述SELECT关系优化处理单元4044,用于优化SELECT关系;所述ORDER BY关系优化处理单元4045,用于优化ORDERBY关系。
以上对本发明所提供的一种对查询SQL请求进行优化的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1、一种对查询SQL请求进行优化的方法,其特征在于,包括,
规范处理查询SQL语句中的字段名及别名;
去掉所述S查询SQL语句中的冗余的关联关系;
将所述查询SQL语句转换为语法树;
将所述语法树进行逻辑关系优化;
将优化后的语法树转化为标准查询SQL语句。
2、根据权利要求1所述的方法,其特征在于,所述去掉所述查询SQL语句中的冗余的关联关系是去除冗余的列、去除冗余的链接关系或者去除冗余的查询条件。
3、根据权利要求1或2所述的方法,其特征在于,所述对语法树进行优化是优化所述语法树中的分组条件、HAVING关系、链接关系、SELECT关系或排序规则。
4、一种对查询SQL请求进行优化的装置,其特征在于,包括,
规范处理单元,用于规范处理查询SQL语句中的字段名及别名;
冗余处理单元,用于去掉所述查询SQL语句L中的冗余的关联关系;
第一转换单元单元,用于将所述查询SQL语句转换为语法树;
优化处理单元,用于将所述语法树进行逻辑关系优化;
第二转换单元单元,用于将优化后的语法树转化为标准查询SQL语句。
5、根据权利要求4所述的方法,其特征在于,所述冗余处理单元包括:
冗余列处理单元,用于去除冗余的列;或者,
冗余链接关系处理单元,用于去除冗余的链接关系;或者,
冗余查询条件处理单元,用于去除冗余的查询条件关系。
6、根据权利要求4或5所述的方法,其特征在于,所述优化处理单元包括:
分组条件优化处理单元,或者,
HAVING关系优化处理单元,或者,
链接关系优化处理单元,或者,
SELECT关系优化处理单元,或者,
排序规则优化处理单元;
所述分组条件优化处理单元,用于优化分组条件;所述HAVING关系优化处理单元,用于优化HAVING关系;所述链接关系优化处理单元,用于优化链接关系;所述SELECT关系优化处理单元,用于优化SELECT关系;所述排序规则优化处理单元,用于优化排序规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710087222A CN101021874B (zh) | 2007-03-21 | 2007-03-21 | 一种对查询sql请求进行优化的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710087222A CN101021874B (zh) | 2007-03-21 | 2007-03-21 | 一种对查询sql请求进行优化的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101021874A true CN101021874A (zh) | 2007-08-22 |
CN101021874B CN101021874B (zh) | 2010-05-26 |
Family
ID=38709636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710087222A Active CN101021874B (zh) | 2007-03-21 | 2007-03-21 | 一种对查询sql请求进行优化的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101021874B (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963993A (zh) * | 2010-10-21 | 2011-02-02 | 江苏科技大学 | 一种数据库单表记录快速查找的方法 |
CN102436494A (zh) * | 2011-11-11 | 2012-05-02 | 中国工商银行股份有限公司 | 基于实践检验的执行计划优化的装置及方法 |
CN102902778A (zh) * | 2012-09-28 | 2013-01-30 | 用友软件股份有限公司 | 查询语句优化装置和查询语句优化方法 |
CN103092998A (zh) * | 2013-02-21 | 2013-05-08 | 用友软件股份有限公司 | 数据查询系统和数据查询方法 |
CN103186541A (zh) * | 2011-12-27 | 2013-07-03 | 阿里巴巴集团控股有限公司 | 一种映射关系生成方法及装置 |
CN103399963A (zh) * | 2013-08-26 | 2013-11-20 | 苏州国云数据科技有限公司 | 基于Hive的优化器优化方法 |
CN103399851A (zh) * | 2013-06-25 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 一种结构化查询语言(sql)脚本的性能分析与预测方法与系统 |
CN104123354A (zh) * | 2014-07-15 | 2014-10-29 | 大连大学 | 一种基于MySQL数据库的查询优化方法 |
CN104317913A (zh) * | 2014-10-28 | 2015-01-28 | 用友软件股份有限公司 | 属性组合的筛选方法和属性组合的筛选装置 |
CN104391923A (zh) * | 2014-11-20 | 2015-03-04 | 北京锐安科技有限公司 | 一种查询数据集的方法及装置 |
CN104462095A (zh) * | 2013-09-13 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种查询语句公共部分的提取方法及装置 |
CN104834634A (zh) * | 2014-02-07 | 2015-08-12 | 西门子公司 | 基于回归的用于sql语句性能预测的成本建模方法和装置 |
CN105279250A (zh) * | 2015-10-08 | 2016-01-27 | 国网天津市电力公司 | 一种基于自学习方式的关系型数据库查询性能优化方法 |
CN106055582A (zh) * | 2016-05-20 | 2016-10-26 | 中国农业银行股份有限公司 | 一种替换数据库的表名的方法及装置 |
CN106294468A (zh) * | 2015-06-02 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 处理业务数据的方法和装置 |
CN107491534A (zh) * | 2017-08-22 | 2017-12-19 | 北京百度网讯科技有限公司 | 信息处理方法和装置 |
WO2018058959A1 (zh) * | 2016-09-28 | 2018-04-05 | 平安科技(深圳)有限公司 | Sql审核方法、装置、服务器及存储设备 |
CN108710662A (zh) * | 2018-05-14 | 2018-10-26 | 上海跬智信息技术有限公司 | 语言转换方法和装置、存储介质、数据查询系统和方法 |
CN109145013A (zh) * | 2018-08-10 | 2019-01-04 | 上海达梦数据库有限公司 | 一种表达式转换方法、装置、设备及存储介质 |
CN109308300A (zh) * | 2018-09-27 | 2019-02-05 | 上海达梦数据库有限公司 | 一种逻辑运算的处理方法、装置、转换插件及存储介质 |
CN109710635A (zh) * | 2018-12-29 | 2019-05-03 | 联想(北京)有限公司 | 用于数据库的处理方法、处理系统以及服务器组 |
CN110309171A (zh) * | 2018-02-26 | 2019-10-08 | 华为技术有限公司 | 数据库查询方法、服务器和系统 |
CN110968593A (zh) * | 2019-12-10 | 2020-04-07 | 上海达梦数据库有限公司 | 数据库sql语句优化方法、装置、设备和存储介质 |
CN111061757A (zh) * | 2019-12-19 | 2020-04-24 | 用友网络科技股份有限公司 | 数据库的语言转换方法、装置、电子设备及存储介质 |
CN111400338A (zh) * | 2020-03-04 | 2020-07-10 | 平安医疗健康管理股份有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111475588A (zh) * | 2020-06-19 | 2020-07-31 | 阿里云计算有限公司 | 数据处理方法及装置 |
CN111522816A (zh) * | 2020-04-16 | 2020-08-11 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
CN112052255A (zh) * | 2020-09-02 | 2020-12-08 | 福建天晴在线互动科技有限公司 | 一种自上而下拆分多表慢查询的sql解释方法及其装置 |
US10963460B2 (en) | 2018-12-06 | 2021-03-30 | Xilinx, Inc. | Integrated circuits and methods to accelerate data queries |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
WO2021259367A1 (zh) * | 2020-06-24 | 2021-12-30 | 中兴通讯股份有限公司 | 统一sql的方法、系统、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560593B1 (en) * | 1999-07-20 | 2003-05-06 | Computer Associates Think, Inc. | Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query |
CN1632793A (zh) * | 2004-12-29 | 2005-06-29 | 复旦大学 | 一种利用缓存将关系数据发布为xml文档的优化方法 |
CN1808427A (zh) * | 2005-01-22 | 2006-07-26 | 鸿富锦精密工业(深圳)有限公司 | 专利信息检索的语法转换方法 |
-
2007
- 2007-03-21 CN CN200710087222A patent/CN101021874B/zh active Active
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963993B (zh) * | 2010-10-21 | 2012-08-29 | 江苏科技大学 | 一种数据库单表记录快速查找的方法 |
CN101963993A (zh) * | 2010-10-21 | 2011-02-02 | 江苏科技大学 | 一种数据库单表记录快速查找的方法 |
CN102436494A (zh) * | 2011-11-11 | 2012-05-02 | 中国工商银行股份有限公司 | 基于实践检验的执行计划优化的装置及方法 |
CN103186541B (zh) * | 2011-12-27 | 2016-08-24 | 阿里巴巴集团控股有限公司 | 一种映射关系生成方法及装置 |
CN103186541A (zh) * | 2011-12-27 | 2013-07-03 | 阿里巴巴集团控股有限公司 | 一种映射关系生成方法及装置 |
CN102902778A (zh) * | 2012-09-28 | 2013-01-30 | 用友软件股份有限公司 | 查询语句优化装置和查询语句优化方法 |
CN103092998A (zh) * | 2013-02-21 | 2013-05-08 | 用友软件股份有限公司 | 数据查询系统和数据查询方法 |
CN103092998B (zh) * | 2013-02-21 | 2017-02-08 | 用友网络科技股份有限公司 | 数据查询系统和数据查询方法 |
CN103399851A (zh) * | 2013-06-25 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 一种结构化查询语言(sql)脚本的性能分析与预测方法与系统 |
CN103399963A (zh) * | 2013-08-26 | 2013-11-20 | 苏州国云数据科技有限公司 | 基于Hive的优化器优化方法 |
CN104462095B (zh) * | 2013-09-13 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种查询语句公共部分的提取方法及装置 |
CN104462095A (zh) * | 2013-09-13 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种查询语句公共部分的提取方法及装置 |
CN104834634A (zh) * | 2014-02-07 | 2015-08-12 | 西门子公司 | 基于回归的用于sql语句性能预测的成本建模方法和装置 |
CN104123354A (zh) * | 2014-07-15 | 2014-10-29 | 大连大学 | 一种基于MySQL数据库的查询优化方法 |
CN104317913A (zh) * | 2014-10-28 | 2015-01-28 | 用友软件股份有限公司 | 属性组合的筛选方法和属性组合的筛选装置 |
CN104317913B (zh) * | 2014-10-28 | 2017-11-24 | 用友网络科技股份有限公司 | 属性组合的筛选方法和属性组合的筛选装置 |
CN104391923A (zh) * | 2014-11-20 | 2015-03-04 | 北京锐安科技有限公司 | 一种查询数据集的方法及装置 |
CN106294468A (zh) * | 2015-06-02 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 处理业务数据的方法和装置 |
CN106294468B (zh) * | 2015-06-02 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 处理业务数据的方法和装置 |
CN105279250A (zh) * | 2015-10-08 | 2016-01-27 | 国网天津市电力公司 | 一种基于自学习方式的关系型数据库查询性能优化方法 |
CN105279250B (zh) * | 2015-10-08 | 2019-03-26 | 国网天津市电力公司 | 一种基于自学习方式的关系型数据库查询性能优化方法 |
CN106055582A (zh) * | 2016-05-20 | 2016-10-26 | 中国农业银行股份有限公司 | 一种替换数据库的表名的方法及装置 |
CN106055582B (zh) * | 2016-05-20 | 2019-09-24 | 中国农业银行股份有限公司 | 一种替换数据库的表名的方法及装置 |
WO2018058959A1 (zh) * | 2016-09-28 | 2018-04-05 | 平安科技(深圳)有限公司 | Sql审核方法、装置、服务器及存储设备 |
US10402402B2 (en) | 2016-09-28 | 2019-09-03 | Ping An Technology (Shenzhen) Co., Ltd. | Method, device, server and storage apparatus of reviewing SQL |
CN107491534A (zh) * | 2017-08-22 | 2017-12-19 | 北京百度网讯科技有限公司 | 信息处理方法和装置 |
CN110309171B (zh) * | 2018-02-26 | 2021-08-20 | 华为技术有限公司 | 数据库查询方法、服务器和系统 |
CN110309171A (zh) * | 2018-02-26 | 2019-10-08 | 华为技术有限公司 | 数据库查询方法、服务器和系统 |
CN108710662A (zh) * | 2018-05-14 | 2018-10-26 | 上海跬智信息技术有限公司 | 语言转换方法和装置、存储介质、数据查询系统和方法 |
CN108710662B (zh) * | 2018-05-14 | 2019-12-27 | 上海跬智信息技术有限公司 | 语言转换方法和装置、存储介质、数据查询系统和方法 |
CN109145013A (zh) * | 2018-08-10 | 2019-01-04 | 上海达梦数据库有限公司 | 一种表达式转换方法、装置、设备及存储介质 |
CN109308300A (zh) * | 2018-09-27 | 2019-02-05 | 上海达梦数据库有限公司 | 一种逻辑运算的处理方法、装置、转换插件及存储介质 |
CN109308300B (zh) * | 2018-09-27 | 2021-11-12 | 上海达梦数据库有限公司 | 一种逻辑运算的处理方法、装置、转换插件及存储介质 |
US10963460B2 (en) | 2018-12-06 | 2021-03-30 | Xilinx, Inc. | Integrated circuits and methods to accelerate data queries |
CN109710635A (zh) * | 2018-12-29 | 2019-05-03 | 联想(北京)有限公司 | 用于数据库的处理方法、处理系统以及服务器组 |
CN109710635B (zh) * | 2018-12-29 | 2021-03-19 | 联想(北京)有限公司 | 用于数据库的处理方法、处理系统以及服务器组 |
CN110968593B (zh) * | 2019-12-10 | 2023-10-03 | 上海达梦数据库有限公司 | 数据库sql语句优化方法、装置、设备和存储介质 |
CN110968593A (zh) * | 2019-12-10 | 2020-04-07 | 上海达梦数据库有限公司 | 数据库sql语句优化方法、装置、设备和存储介质 |
CN111061757A (zh) * | 2019-12-19 | 2020-04-24 | 用友网络科技股份有限公司 | 数据库的语言转换方法、装置、电子设备及存储介质 |
CN111400338A (zh) * | 2020-03-04 | 2020-07-10 | 平安医疗健康管理股份有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111400338B (zh) * | 2020-03-04 | 2022-11-22 | 深圳平安医疗健康科技服务有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111522816B (zh) * | 2020-04-16 | 2021-04-30 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
CN111522816A (zh) * | 2020-04-16 | 2020-08-11 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
CN111475588A (zh) * | 2020-06-19 | 2020-07-31 | 阿里云计算有限公司 | 数据处理方法及装置 |
WO2021259367A1 (zh) * | 2020-06-24 | 2021-12-30 | 中兴通讯股份有限公司 | 统一sql的方法、系统、设备及介质 |
CN112052255A (zh) * | 2020-09-02 | 2020-12-08 | 福建天晴在线互动科技有限公司 | 一种自上而下拆分多表慢查询的sql解释方法及其装置 |
CN112052255B (zh) * | 2020-09-02 | 2022-05-03 | 福建天晴在线互动科技有限公司 | 一种自上而下拆分多表慢查询的sql解释方法及其装置 |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101021874B (zh) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101021874B (zh) | 一种对查询sql请求进行优化的方法及装置 | |
CN103064875B (zh) | 一种服务化空间数据分布式查询方法 | |
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
CN108363746B (zh) | 一种支持多源异构数据的统一sql查询系统 | |
US8332389B2 (en) | Join order for a database query | |
US8712972B2 (en) | Query optimization with awareness of limited resource usage | |
US8880508B2 (en) | Processing database queries using format conversion | |
CN102799622A (zh) | 基于MapReduce扩展框架的分布式SQL查询方法 | |
CN100578498C (zh) | 数据集成服务系统及方法 | |
WO2020238130A1 (zh) | 一种大数据日志监控方法及装置、存储介质和计算机设备 | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
CN104765731A (zh) | 数据库查询优化方法和设备 | |
CN109947804B (zh) | 数据集合查询的优化方法、装置、服务器和存储介质 | |
CN111198898B (zh) | 大数据查询方法及大数据查询装置 | |
CN107729428A (zh) | 一种基于Presto和Elasticsearch的SQL查询方法 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
CN111078705A (zh) | 基于Spark平台建立数据索引方法及数据查询方法 | |
CN110008448B (zh) | 将SQL代码自动转换为Java代码的方法和装置 | |
US8832157B1 (en) | System, method, and computer-readable medium that facilitates efficient processing of distinct counts on several columns in a parallel processing system | |
US20070271217A1 (en) | Statistics collection using path-identifiers for relational databases | |
Sinthong et al. | AFrame: Extending DataFrames for large-scale modern data analysis (Extended Version) | |
CN115391346A (zh) | 数据库聚合索引的生成方法、存储介质与计算机设备 | |
CN115391424A (zh) | 数据库查询的处理方法、存储介质与计算机设备 | |
US20070220058A1 (en) | Management of statistical views in a database system | |
CN114547083A (zh) | 数据处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210310 Address after: 266000 201a, 2nd floor, international ocean Sensor Research Institute, Qingdao Blue Valley technology road, aoshanwei street, Jimo District, Qingdao City, Shandong Province Patentee after: Qingdao Kingdee Software Technology Co.,Ltd. Address before: 518057 hi tech Industrial Park, Shennan Avenue, Shenzhen, Guangdong, Nanshan District W1-B4 Patentee before: Kingdee software (China) Co.,Ltd. |