CN103164455A - Optimization method and optimization device of data base - Google Patents

Optimization method and optimization device of data base Download PDF

Info

Publication number
CN103164455A
CN103164455A CN201110421548XA CN201110421548A CN103164455A CN 103164455 A CN103164455 A CN 103164455A CN 201110421548X A CN201110421548X A CN 201110421548XA CN 201110421548 A CN201110421548 A CN 201110421548A CN 103164455 A CN103164455 A CN 103164455A
Authority
CN
China
Prior art keywords
database
code
statement
data base
class
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
Application number
CN201110421548XA
Other languages
Chinese (zh)
Other versions
CN103164455B (en
Inventor
谢马林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201110421548.XA priority Critical patent/CN103164455B/en
Publication of CN103164455A publication Critical patent/CN103164455A/en
Application granted granted Critical
Publication of CN103164455B publication Critical patent/CN103164455B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses an optimization method of a data base. The optimization method comprises the following steps: obtaining class information of a virtual machine before loading, and analyzing the class information to ensure data base drive class information of the class information; weaving a first code and a first operation class code into the data base drive class information; obtaining data base operation statements according to the first code and the first operation class code which are weaved; and optimizing the data base according to data base operation statements. The method can intercept the data base operation statements under the condition of no invasion, and further optimizes the data base according to the data base operation statements obtained by being intercepted, so that the performance of the data base is improved.

Description

The optimization method of database and device
Technical field
The present invention relates to field of computer technology, particularly a kind of optimization method of database and device.
Background technology
JDBC (Java Data Base Connectivity, the Java database connects) be a kind of for carrying out SQL (Structured Query Language, Structured Query Language (SQL)) the Java API of statement (Application Programming Interface, application programming interface), can be for multiple relational database provide unified access, it is comprised of one group of class and interface of writing with Java language.JDBC provides a kind of benchmark, can build more senior instrument and interface accordingly, makes the database development personnel can write database application.JDBC API has been arranged, and sending SQL statement to various relation datas is exactly a thing easily.In other words, JDBC API has been arranged, just needn't write specially a program for the access sybase database, for For Accessing Oracle Database is write again a program specially, or write again another program etc. for accessing informix database, it is just much of that the programmer only needs to write a program with JDBC API, and it can send SQL to associated databases and call.
At present, based on the optimization analytical technology of SQL statement mainly all based on the code intrusive mood or utilize the Java reflection technology to realize, such as p6spy product etc.The shortcoming of prior art is at present all to need to revise JDBC based on the optimization analytical technology of SQL statement to connect drive arrangements, complicated operation not only, and cause the stability of database and security all to decrease.
Summary of the invention
The present invention is intended to solve at least one of technical matters that exists in prior art, particularly solves need to connect drive arrangements to JDBC and modify and can obtain the defective of SQL statement.
Embodiment of the present invention first aspect has proposed a kind of optimization method of database, comprises the following steps: obtain the category information before virtual machine loads, and described category information is analyzed to determine the database-driven category information in described category information; Inweave first code and the first class of operation code among described database-driven category information; According to the described first code that inweaves and the first class of operation Code obtaining data base manipulation statement; And according to described data base manipulation statement, described database is optimized.
In one embodiment of the invention, above-mentioned optimization can be index optimization or the large data sets optimization of database.
Embodiment of the present invention second aspect has also proposed a kind of optimization system of database, comprise virtual machine, virtual machine agency and DB connector, wherein, described virtual machine, be used for generating category information according to user's instruction, and the described database-driven category information that inweaves first code and the first class of operation code by described virtual machine agency loads; The virtual machine agency, be used for obtaining virtual machine and load front category information, and described category information is analyzed to determine the database-driven category information in described category information, and inweave first code and the first class of operation code among described database-driven category information, and by described virtual machine agency, the laden described database-driven category information of described virtual machine is sent to DB connector; Described DB connector, be used for database is changed and be sent to described laden database-driven category information, and carry out described first code obtaining described data base manipulation statement by described the first class of operation code, and according to described data base manipulation statement, described database is optimized.
In one embodiment of the invention, above-mentioned optimization can be index optimization or the large data sets optimization of database.
In the above embodiment of the present invention, act on behalf of first code and the first class of operation code that seamlessly inweaves by above-mentioned virtual machine, can be in the situation that without invading, data base manipulation statement (for example SQL statement) be tackled, and further according to tackling the data base manipulation statement that obtains, database is optimized, thereby promote database performance.
The embodiment of the present invention third aspect has also proposed a kind of acquisition methods of data base manipulation statement, comprises the following steps: obtain the category information before virtual machine loads; Described category information is analyzed to determine the database-driven category information in described category information; Inweave first code and the first class of operation code among described database-driven category information; According to the described first code that inweaves and the first class of operation Code obtaining data base manipulation statement.
In the above embodiment of the present invention, act on behalf of first code and the first class of operation code that seamlessly inweaves by above-mentioned virtual machine, can be in the situation that without invading, data base manipulation statement (for example SQL statement) be tackled, therefore need not the connection drive arrangements of JDBC is modified, thereby improved the safety and stability of database.
Additional aspect of the present invention and advantage part in the following description provide, and part will become obviously from the following description, or recognize by practice of the present invention.
Description of drawings
Above-mentioned and/or additional aspect of the present invention and advantage are from obviously and easily understanding becoming the description of embodiment in conjunction with following accompanying drawing, wherein:
Fig. 1 is the process flow diagram of optimization method of the database of the embodiment of the present invention;
Fig. 2 is the schematic diagram that the embodiment of the present invention inweaves the first class of operation code and first code;
Fig. 3 is that the embodiment of the present invention carries out to database the method schematic diagram that index is optimized;
Fig. 4 is the example that embodiment of the present invention database returns to the result set of explaining statement;
Fig. 5 is that the embodiment of the present invention carries out to database the method schematic diagram that large data sets is optimized;
Fig. 6 is the schematic diagram that the embodiment of the present invention inweaves the first class of operation code, first code and the second class of operation code and second code;
Fig. 7 a and 7b are respectively the operation chart after large data sets is optimized front and optimization;
Fig. 8 is the structural drawing of the optimization system of embodiment of the present invention database;
Fig. 9 is the structural drawing of the DB connector that is used for database index optimization of the embodiment of the present invention;
Figure 10 is the structural drawing of the DB connector that is used for the optimization of database large data sets of the embodiment of the present invention; And
Figure 11 is the acquisition methods process flow diagram of the data base manipulation statement of the embodiment of the present invention.
Embodiment
The below describes embodiments of the invention in detail, and the example of described embodiment is shown in the drawings, and wherein same or similar label represents same or similar element or the element with identical or similar functions from start to finish.Be exemplary below by the embodiment that is described with reference to the drawings, only be used for explaining the present invention, and can not be interpreted as limitation of the present invention.
With reference to following description and accompanying drawing, these and other aspects of embodiments of the invention will be known.These describe and accompanying drawing in, specifically disclose some specific implementations in embodiments of the invention, represent to implement some modes of the principle of embodiments of the invention, still should be appreciated that the scope of embodiments of the invention is not limited.On the contrary, embodiments of the invention comprise spirit and interior all changes, modification and the equivalent of intension scope that falls into additional claims.
As shown in Figure 1, be the process flow diagram of the optimization method of the database of the embodiment of the present invention.The method comprises the following steps:
Step S101, virtual machine agency (agent) obtain the category information before virtual machine loads.In an embodiment of the present invention, virtual machine can be Java Virtual Machine.In present Java Virtual Machine technology, virtual machine the agency provide a function, can obtain the category information before java class loads.Particularly, this category information exists with the form of bytecode.In one embodiment of the invention, these category informations are the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.Wherein, java.lang.ClassLoader is the class of load classes, and all category informations all are loaded among internal memory by the java.lang.ClassLoader class.The present invention adopts just the virtual machine agency can obtain virtual machine and loads this characteristic of category information before by the java.lang.ClassLoader class, realizes the seamless Dynamic Weave of embodiment of the present invention code.Thereby be further implemented in and do not revise JDBC and connect obtaining of fulfillment database action statement on the basis of drive arrangements.
Embodiments of the invention can be suitable for the various databases that JDBC is connected, such as Mysql database, informix database, oracle database, sybase database etc.In following examples of the present invention, to be described as an example of the Mysql database example, but one skilled in the art will appreciate that the embodiment of the present invention also can be used for above-mentioned known or any database Future Development, as long as this database can be supported by JDBC.
Step S102, the virtual machine agency analyzes to determine the database-driven category information in category information to category information.Particularly, virtual machine agency analyzes all category informations, filters according to the class name of category information, bag name etc., drives category information with specified data storehouse among these category informations.In an embodiment of the present invention, take the Mysql database as example, the certain kinds com.mysql.jdbc.Driver that can find Mysql to drive, thereby the loading that identification Mysql drives.In other embodiments of the invention, for other dissimilar databases, also can select the specific class of other database-driven, give unnecessary details no longer one by one at this.
Step S103, the virtual machine agency inweaves first code and the first class of operation code among the database-driven category information, wherein, the first class of operation code is the code of the instruction of execution first code, and first code is used for obtaining the data base manipulation statement of database-driven category information when being performed.In one embodiment of the invention, still take the Mysql database as example, wherein, the first class of operation code can be common SQL statement and carries out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement.As shown in Figure 2, inweave the schematic diagram of the first class of operation code and first code for the embodiment of the present invention.In an embodiment of the present invention, the first class of operation code and first code should be carried out before data base manipulation statement is carried out, and carried out this first code by the first class of operation code.Therefore as can be seen from the figure, the first class of operation code and first code between Class Statement Impl and Method Statement Impl, thereby make the first class of operation code and first code be limited to data base manipulation statement and performed by DB connector.
The database-driven category information that step S104, virtual machine will inweave first code and the first class of operation code loads, and acts on behalf of by virtual machine laden database-driven category information is sent to DB connector.In an embodiment of the present invention, virtual machine can load the database-driven category information that inweaves first code and the first class of operation code by core classes java.lang.ClassLoader, and it is loaded into internal memory.In an embodiment of the present invention, this DB connector can be Java DB connector, i.e. JDBC.
Step S105, database is changed and be sent to DB connector to laden database-driven category information, and carry out first code to obtain data base manipulation statement by the first class of operation code.DB connector can first be carried out first code to obtain data base manipulation statement by the first class of operation code before the database-driven category information is changed.After obtaining data base manipulation statement, the information of completing after changing and changing is sent to database, and database can be processed according to normal flow.
Step S106, DB connector is optimized database according to data base manipulation statement.In an embodiment of the present invention, can carry out index optimization or large data sets optimization etc. to database.In following embodiment, will describe in detail to index optimization and large data sets optimization respectively.But those skilled in the art should be understood that, index is optimized and large data sets optimization is only the preferred embodiments of the present invention, those skilled in the art also can be according to data base manipulation statement after obtaining data base manipulation statement, and the thought of following index optimization and large data sets optimization completes other to the optimization of database, these also all should be included in the embodiment of the present invention comprise scope within.
In the above embodiment of the present invention, act on behalf of first code and the first class of operation code that seamlessly inweaves by above-mentioned virtual machine, can be in the situation that without invading, data base manipulation statement (for example SQL statement) be tackled, and further according to tackling the data base manipulation statement that obtains, database is optimized, thereby promote database performance.
As shown in Figure 3, for the embodiment of the present invention, database is carried out the method schematic diagram that index is optimized.The method comprises the following steps:
Step S301, the virtual machine agency obtains the category information before virtual machine loads.In an embodiment of the present invention, virtual machine can be Java Virtual Machine.Particularly, this category information exists with the form of bytecode.In one embodiment of the invention, these category informations are the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.Wherein, java.lang.ClassLoader is the class of load classes, and all category informations all are loaded among internal memory by the java.lang.ClassLoader class.Embodiments of the invention can be suitable for the various databases that JDBC is connected, such as Mysql database, informix database, oracle database, sybase database etc.
Step S302, the virtual machine agency analyzes to determine the database-driven category information in category information to category information.Particularly, virtual machine agency analyzes all category informations, filters according to the class name of category information, bag name etc., drives category information with specified data storehouse among these category informations.
Step S303, the virtual machine agency inweaves first code and the first class of operation code among the database-driven category information, wherein, the first class of operation code is the code of the instruction of execution first code, and first code is used for obtaining the data base manipulation statement of database-driven category information when being performed.In one embodiment of the invention, still take the Mysql database as example, wherein, the first class of operation code can be common SQL statement and carries out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement.In an embodiment of the present invention, the first class of operation code and first code should be carried out before data base manipulation statement is carried out, and carried out this first code by the first class of operation code.
The database-driven category information that step S304, virtual machine will inweave first code and the first class of operation code loads, and acts on behalf of by virtual machine laden database-driven category information is sent to DB connector.In an embodiment of the present invention, virtual machine can load the database-driven category information that inweaves first code and the first class of operation code by core classes java.lang.ClassLoader, and it is loaded into internal memory.
Step S305, database is changed and be sent to DB connector to laden database-driven category information, and carry out first code to obtain data base manipulation statement by the first class of operation code.DB connector can first be carried out first code to obtain data base manipulation statement by the first class of operation code before the database-driven category information is changed.
Step S306, DB connector judge whether data base manipulation statement is query sentence of database.In one embodiment of the invention, take SQL statement (data base manipulation statement) as example, can check by the matching way that key word " SELECT " is comprised whether this data base manipulation statement is query statement, if comprise key word " SELECT ", represent that current statement is query statement.If judgement is not query statement, need not carry out index optimization, process getting final product according to existing procedure, do not repeat them here.
Step S307, if be query sentence of database, DB connector is according to the explanation statement of data base manipulation statement generating database action statement.After definite current SQL statement is query statement, begins that this statement is carried out the index operating position and analyze.At first the explain order that provides by database is rewritten SQL statement, and for example, SQL statement is Select*from stuent where name="; The explanation statement of revised SQL statement is explain select*from student where name=".
Step S308, DB connector is sent to database with the explanation statement of data base manipulation statement.
Step S309, the explanation statement of database performing database action statement also will explain that the result set of statement is back to DB connector.As shown in Figure 4, return to the example of the result set of explaining statement for embodiment of the present invention database.
Step S310, DB connector judges according to the result set of described explanation statement whether described data base manipulation statement has used index.If used index, also need not to carry out index optimization, get final product according to existing flow processing.
Particularly, can be simultaneously referring to Fig. 4, the embodiment of the present invention can be according to the key that returns results collection, and the value of these row judges whether to have used index.Wherein, whether the current SQL query statement of value representation of key row has used index.If the value of key row is empty, represent that this SQL query statement does not make index of reference, therefore represent that this SQL query statement need to carry out the SQL Optimum Operation.If the value of key row is not empty, represent that this SQL query statement has used index, expression does not need to carry out index optimization, gets final product according to existing flow processing.
Step S311, if the judgement data base manipulation statement does not make index of reference, DB connector creation database index creation statement, and the database initialize statement is sent to database to increase corresponding index in database.In one embodiment of the invention, at first DB connector resolves to obtain field name among data base manipulation statement to data base manipulation statement.Then, DB connector is according to field name creation database index creation statement.
Particularly, if when finding that current SQL statement does not make index of reference, need to resolve this SQL statement by SQL parser, to obtain the field name in this SQL statement condition.For example the SQL query statement is " select*from student where name=", can obtain the name field name by SQL parser.DB connector can generate a statement that creates index according to the field name that obtains.For example, DB connector can be take the name field name as row, generating database index creation statement, for example, CREATE INDEX student_name ON student (name).Then, DB connector creates statement to this database index and sends to database, database can create statement according to this database index and automatically create a new index, to guarantee that original data base manipulation statement is sending respective request before the database, there has been corresponding index, thereby promoted the efficient of inquiry.
As shown in Figure 5, for the embodiment of the present invention, database is carried out the method schematic diagram that large data sets is optimized.The method comprises the following steps:
Step S501, the virtual machine agency obtains the category information before virtual machine loads.In an embodiment of the present invention, virtual machine can be Java Virtual Machine.Particularly, this category information exists with the form of bytecode.In one embodiment of the invention, these category informations are the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.Wherein, java.lang.ClassLoader is the class of load classes, and all category informations all are loaded among internal memory by the java.lang.ClassLoader class.Embodiments of the invention can be suitable for the various databases that JDBC is connected, such as Mysql database, informix database, oracle database, sybase database etc.
Step S502, the virtual machine agency analyzes to determine the database-driven category information in category information to category information.Particularly, virtual machine agency analyzes all category informations, filters according to the class name of category information, bag name etc., drives category information with specified data storehouse among these category informations.
Step S503, the virtual machine agency inweaves first code and the first class of operation code among the database-driven category information, and second code and the second class of operation code.Wherein, the first class of operation code is the code of the instruction of execution first code, and first code is used for obtaining the data base manipulation statement of database-driven category information when being performed.The second class of operation code is the code of the instruction of execution second code, and second code is used for obtaining the result set of data base manipulation statement when being performed, and second code is carried out after data base manipulation statement is carried out.In one embodiment of the invention, still take the Mysql database as example, wherein, the first class of operation code can be common SQL statement and carries out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement.In an embodiment of the present invention, the first class of operation code and first code should be carried out before data base manipulation statement is carried out, and carried out this first code by the first class of operation code.The second class of operation code only upgrades executeUpdate for carrying out execute, only inquires about in executeQuery one or more code.
In an embodiment of the present invention, in order to carry out large data sets optimization, also need the virtual machine agency to inweave second code and the second class of operation code among the database-driven category information, and second code after carrying out, is carried out data base manipulation statement.As shown in Figure 6, inweave the schematic diagram of the first class of operation code, first code and the second class of operation code and second code for the embodiment of the present invention.
Step S504, the database-driven category information that virtual machine will inweave first code and the first class of operation code, second code and the second class of operation code loads, and acts on behalf of by virtual machine laden database-driven category information is sent to DB connector.In an embodiment of the present invention, virtual machine can load the database-driven category information that inweaves first code and the first class of operation code, second code and the second class of operation code by core classes java.lang.ClassLoader, and it is loaded into internal memory.
Step S505, database is changed and be sent to DB connector to laden database-driven category information, and carry out first code to obtain data base manipulation statement by the first class of operation code.DB connector can first be carried out first code to obtain data base manipulation statement by the first class of operation code before the database-driven category information is changed.
Step S506, DB connector carry out second code to obtain the result set of data base manipulation statement by the second class of operation code after database performing database action statement.In an embodiment of the present invention, DB connector is after database is carried out data base manipulation statement, and DB connector is carried out the result set of second code to obtain to return after database performing database action statement by the second class of operation code.For example, after SQL statement was complete, database can return to the result set ResultSetImpl object of a database.
Step S507 analyzes with the byte number of determining this result set and records line number the result set of data base manipulation statement.For example, in a specific embodiment of the present invention, for the ResultSetImpl object, can obtain two attributes of byteSize and rowDatalength, represent respectively the byte-sized of the data that this data base manipulation statement returns and the line number of the record that this data base manipulation statement returns.
Step S508, if the byte number of result set or record line number and surpass preset value, judged result integrates as large data sets.As one embodiment of the present of invention, when the value of the byteSize that detects or two attributes of rowDataLength surpassed the limit value that arranges, for example when the row data surpassed 10000 row, this time request of expression was the request of a large data sets.
Step S509, if judged result integrates as large data sets, further the send mode that integrates of judged result whether as the vernier mode.When determining that this time request is a large data set request, the rowData attribute of ResultSetImpl object is analyzed, if the type of rowData attribute is not RowDataCursor object (vernier mode), the disposable meeting of behavior meeting of this time request of expression is the disposable client that turns back to of the data of this 10000 row, and that is the operation that accounts for very much the IO bandwidth.
Step S510, if the send mode that judged result integrates not as the vernier mode, the send mode of the described result set of DB connector is set to the vernier mode.The large data sets optimal way of the embodiment of the present invention is exactly that the result set rowData of request is replaced with the RowDataCursor object, Connection attribute () in the ResultSetImpl object namely is set, call the setUseCursorFetch method, the parameters value is that true gets final product.
As shown in Fig. 7 a and 7b, be respectively the operation chart after large data sets is optimized front and optimization.As shown in the figure, after the embodiment of the present invention is used the vernier mode, when Query Result 10000 row, can disposablely not turn back to client to all row, but when the user calls the rowData.next method, dynamically get follow-up several from database and process, take situation for the IO of large data sets like this and just can effectively be alleviated.
As shown in Figure 8, be the structural drawing of the optimization system of embodiment of the present invention database.This system comprises virtual machine 100, virtual machine agency 200, DB connector 300 and database 400.Wherein, virtual machine 100 is used for generating category information according to user's instruction, and is loaded by the virtual machine agency 200 database-driven category informations that inweave first code and the first class of operation code.In one embodiment of the invention, these category informations are the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.Wherein, java.lang.ClassLoader is the class of load classes, and all category informations all are loaded among internal memory by the java.lang.ClassLoader class.Embodiments of the invention can be suitable for the various databases that JDBC is connected, such as Mysql database, informix database, oracle database, sybase database etc.
Wherein, virtual machine agency 200 is used for obtaining virtual machine 100 and loads front category information, and this category information is analyzed to determine the database-driven category information in this category information, and inweave first code and the first class of operation code among the database-driven category information, and act on behalf of 200 by virtual machine the laden database-driven category information of virtual machine 100 is sent to DB connector 300.Wherein, the first class of operation code is the code of the instruction of execution first code, and first code is used for obtaining the data base manipulation statement of database-driven category information when being performed.DB connector 300 is used for database is changed and be sent to laden database-driven category information, and carry out first code obtaining data base manipulation statement by the first class of operation code, and according to data base manipulation statement, database 400 is optimized.In an embodiment of the present invention, can carry out index optimization or large data sets optimization etc. to database.In following embodiment, will describe in detail to index optimization and large data sets optimization respectively.But those skilled in the art should be understood that, index is optimized and large data sets optimization is only the preferred embodiments of the present invention, those skilled in the art also can be according to data base manipulation statement after obtaining data base manipulation statement, and the thought of following index optimization and large data sets optimization completes other to the optimization of database, these also all should be included in the embodiment of the present invention comprise scope within.
As shown in Figure 9, be the structural drawing that is used for the DB connector that database index optimizes of the embodiment of the present invention.DB connector 300 comprises judge module 310, explanation statement generation module 320, sending module 330, receiver module 340 and optimizes module 350.Wherein, judge module 310 is used for judging whether data base manipulation statement is query sentence of database.Explain that statement generation module 320 is used for when judge module 310 judgement data base manipulation statements are query sentence of database, according to the explanation statement of data base manipulation statement generating database action statement.Particularly, the explain order that can at first provide by database is rewritten SQL statement, and for example, SQL statement is Select*from stuent where name="; The explanation statement of revised SQL statement is explain select*from student where name=".Sending module 330 is used for the explanation statement of data base manipulation statement is sent to database, with the explanation statement by database performing database action statement.Receiver module 340 is used for receiving from database 400 result set of explaining statement.Optimize module 350 and be used for when data base manipulation statement does not make index of reference, creation database index creation statement, and the database initialize statement is sent to database 400 to increase corresponding index in database 400.
In an embodiment of the present invention, further, optimize module 350 and comprise analyzing sub-module 351 and create submodule 352.Analyzing sub-module 351 is used for data base manipulation statement is resolved to obtain field name among data base manipulation statement.Creating submodule 352 is used for according to this field name creation database index creation statement.
As shown in figure 10, be the structural drawing that is used for the DB connector that the database large data sets optimizes of the embodiment of the present invention.In this embodiment, virtual machine agency 200 also is used for inweaving second code and the second class of operation code among the database-driven category information, wherein, the second class of operation code is the code of the instruction of execution second code, second code is used for obtaining the result set of data base manipulation statement when being performed, and second code is carried out after data base manipulation statement is carried out.This DB connector 300 comprises execution module 360, analysis module 370, judge module 380 and module 390 is set.Need to prove, these modules can separately exist among DB connector 300, also can exist on the basis of above-mentioned DB connector 300 shown in Figure 9, and namely DB connector 300 comprises index optimization and two kinds of functions of large data sets optimization simultaneously.
Wherein, execution module 360 is used for after database 400 performing database action statement, carries out second code to obtain the result set of data base manipulation statement by the second class of operation code.Analysis module 370 is used for the result set of data base manipulation statement is analyzed with the byte number of determining result set and recorded line number.Judge module 380 is used at the byte number of result set or when recording line number and surpassing preset value, and further whether the send mode that integrates of judged result is as the vernier mode.Module 390 is set is used for when the send mode of result set is not the vernier mode, the send mode of result set is set to the vernier mode.
In an embodiment of the present invention, virtual machine 100 is Java Virtual Machine, and DB connector 300 is Java DB connector JDBC, and category information is the category information that is loaded into the core classes java.lang.ClassLoader of Java Virtual Machine 100.In embodiment at one of the present invention, the first class of operation code is that common SQL statement is carried out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement, and the second class of operation code is for carrying out ezxecute, only upgrade executeUpdate, only inquire about in executeQuery one or more code.
As shown in figure 11, be the acquisition methods process flow diagram of the data base manipulation statement of the embodiment of the present invention, the method comprises the following steps:
Step S1101, virtual machine agency (agent) obtain the category information before virtual machine loads.In an embodiment of the present invention, virtual machine can be Java Virtual Machine.In present Java Virtual Machine technology, virtual machine the agency provide a function, can obtain the category information before java class loads.Particularly, this category information exists with the form of bytecode.In one embodiment of the invention, these category informations are the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.Wherein, java.lang.ClassLoader is the class of load classes, and all category informations all are loaded among internal memory by the java.lang.ClassLoader class.The present invention adopts just the virtual machine agency can obtain virtual machine and loads this characteristic of category information before by the java.lang.ClassLoader class, realizes the seamless Dynamic Weave of embodiment of the present invention code.Thereby be further implemented in and do not revise JDBC and connect obtaining of fulfillment database action statement on the basis of drive arrangements.
Embodiments of the invention can be suitable for the various databases that JDBC is connected, such as Mysql database, informix database, oracle database, sybase database etc.In following examples of the present invention, to be described as an example of the Mysql database example, but one skilled in the art will appreciate that the embodiment of the present invention also can be used for above-mentioned known or any database Future Development, as long as this database can be supported by JDBC.
Step S1102, the virtual machine agency analyzes to determine the database-driven category information in category information to category information.Particularly, virtual machine agency analyzes all category informations, filters according to the class name of category information, bag name etc., drives category information with specified data storehouse among these category informations.In an embodiment of the present invention, take the Mysql database as example, the certain kinds com.mysql.jdbc.Driver that can find Mysql to drive, thereby the loading that identification Mysql drives.In other embodiments of the invention, for other dissimilar databases, also can select the specific class of other database-driven, give unnecessary details no longer one by one at this.
Step S1103, the virtual machine agency inweaves first code and the first class of operation code among the database-driven category information, wherein, the first class of operation code is the code of the instruction of execution first code, and first code is used for obtaining the data base manipulation statement of database-driven category information when being performed.In one embodiment of the invention, still take the Mysql database as example, wherein, the first class of operation code can be common SQL statement and carries out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement.As shown in Figure 2, inweave the schematic diagram of the first class of operation code and first code for the embodiment of the present invention.In an embodiment of the present invention, the first class of operation code and first code should be carried out before data base manipulation statement is carried out, and carried out this first code by the first class of operation code.Therefore as can be seen from the figure, the first class of operation code and first code between Class StatementImpl and Method StatementImpl, thereby make the first class of operation code and first code be limited to data base manipulation statement and performed by DB connector.
The database-driven category information that step S1104, virtual machine will inweave first code and the first class of operation code loads, and acts on behalf of by virtual machine laden database-driven category information is sent to DB connector.In an embodiment of the present invention, virtual machine can load the database-driven category information that inweaves first code and the first class of operation code by core classes java.lang.ClassLoader, and it is loaded into internal memory.In an embodiment of the present invention, this DB connector can be Java DB connector, i.e. JDBC.
Step S1105, database is changed and be sent to DB connector to laden database-driven category information, and carry out first code to obtain data base manipulation statement by the first class of operation code.DB connector can first be carried out first code to obtain data base manipulation statement by the first class of operation code before the database-driven category information is changed.
In the above embodiment of the present invention, act on behalf of first code and the first class of operation code that seamlessly inweaves by above-mentioned virtual machine, can be in the situation that without invading, data base manipulation statement (for example SQL statement) be tackled, therefore need not the connection drive arrangements of JDBC is modified, thereby improved the safety and stability of database.
In process flow diagram the expression or in this logic of otherwise describing and/or step, for example, can be considered to the sequencing list be used to the executable instruction that realizes logic function, may be embodied in any computer-readable medium, use for instruction execution system, device or equipment (as the computer based system, comprise that the system of processor or other can and carry out the system of instruction from instruction execution system, device or equipment instruction fetch), or use in conjunction with these instruction execution systems, device or equipment.With regard to this instructions, " computer-readable medium " can be anyly can comprise, storage, communication, propagation or transmission procedure be for instruction execution system, device or equipment or the device that uses in conjunction with these instruction execution systems, device or equipment.
The example more specifically of computer-readable medium (non-exhaustive list) comprises following: the electrical connection section (electronic installation) with one or more wirings, portable computer diskette box (magnetic device), random access memory (RAM), ROM (read-only memory) (ROM), the erasable ROM (read-only memory) (EPROM or flash memory) of editing, fiber device, and portable optic disk ROM (read-only memory) (CDROM).In addition, computer-readable medium can be even paper or other the suitable medium that can print described program thereon, because can be for example by paper or other media be carried out optical scanning, then edit, decipher or process in the electronics mode with other suitable methods in case of necessity and obtain described program, then it is stored in computer memory.
Should be appreciated that each several part of the present invention can realize with hardware, software, firmware or their combination.In the above-described embodiment, a plurality of steps or method can realize with being stored in storer and by software or firmware that suitable instruction execution system is carried out.For example, if realize with hardware, the same in another embodiment, can realize with any one in following technology well known in the art or their combination: have for data-signal being realized the discrete logic of the logic gates of logic function, special IC with suitable combinational logic gate circuit, programmable gate array (PGA), field programmable gate array (FPGA) etc.
In the description of this instructions, the description of reference term " embodiment ", " some embodiment ", " example ", " concrete example " or " some examples " etc. means to be contained at least one embodiment of the present invention or example in conjunction with specific features, structure, material or the characteristics of this embodiment or example description.In this manual, the schematic statement of above-mentioned term not necessarily referred to identical embodiment or example.And the specific features of description, structure, material or characteristics can be with suitable mode combinations in any one or more embodiment or example.
Although illustrated and described embodiments of the invention, those having ordinary skill in the art will appreciate that: in the situation that do not break away from principle of the present invention and aim can be carried out multiple variation, modification, replacement and modification to these embodiment, scope of the present invention is limited by claim and equivalent thereof.

Claims (31)

1. the optimization method of a database, is characterized in that, comprises the following steps:
Obtain the category information before virtual machine loads, and described category information is analyzed to determine the database-driven category information in described category information;
Inweave first code and the first class of operation code among described database-driven category information;
According to the described first code that inweaves and the first class of operation Code obtaining data base manipulation statement; And
According to described data base manipulation statement, described database is optimized.
2. the optimization method of database as claimed in claim 1, it is characterized in that, wherein, described the first class of operation code is the code of the instruction of the described first code of execution, and described first code is used for obtaining the data base manipulation statement of described database-driven category information when being performed.
3. the optimization method of database as claimed in claim 2, is characterized in that, the first code that described basis inweaves and the first class of operation Code obtaining data base manipulation statement further comprise:
The described database-driven category information that inweaves described first code and described the first class of operation code is loaded;
Described laden database-driven category information is changed, and carried out described first code to obtain described data base manipulation statement by described the first class of operation code.
4. as the optimization method of the described database of claim 1-3 any one, it is characterized in that, described database is optimized as described database is carried out index optimization.
5. the optimization method of database as claimed in claim 4, is characterized in that, describedly database is carried out index optimization further comprises:
Judge whether described data base manipulation statement is query sentence of database;
If be described query sentence of database, generate the explanation statement of described data base manipulation statement according to described data base manipulation statement;
The explanation statement of described data base manipulation statement is sent to described database;
Carry out the explanation statement of described data base manipulation statement and the result set of described explanation statement is back to described DB connector;
Judge according to the result set of described explanation statement whether described data base manipulation statement has used index; And
If judge that described data base manipulation statement does not use described index, creation database index creation statement, and described database initialize statement is sent to described database to increase corresponding index in described database.
6. the optimization method of database as claimed in claim 5, is characterized in that, creation database index creation statement further comprises:
Described data base manipulation statement is resolved to obtain field name among described data base manipulation statement; And
Create described database index according to described field name and create statement.
7. as the optimization method of the described database of claim 1-3 any one, it is characterized in that, also comprise:
Inweave second code and the second class of operation code among described database-driven category information, wherein, described the second class of operation code is the code of the instruction of the described second code of execution, described second code is used for obtaining the result set of described data base manipulation statement when being performed, and described second code is carried out after described data base manipulation statement is carried out.
8. the optimization method of database as claimed in claim 7, is characterized in that, described database is optimized as described database is carried out large data sets optimization.
9. the optimization method of database as claimed in claim 8, is characterized in that, describedly database is carried out large data sets optimization further comprises:
After described database is carried out described data base manipulation statement, carry out described second code to obtain the result set of described data base manipulation statement by described the second class of operation code;
The result set of described data base manipulation statement is analyzed with the byte number of determining described result set and recorded line number;
If the byte number of described result set or record line number and surpass preset value judges that described result set is large data sets, and judges further whether the send mode of described result set is the vernier mode; And
If judge that the send mode of described result set is not the vernier mode, the send mode of described result set is set to the vernier mode.
10. the optimization method of database as claimed in claim 1, is characterized in that, described virtual machine is Java Virtual Machine, and described DB connector is the Java DB connector.
11. the optimization method of database as claimed in claim 10 is characterized in that, described category information is the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.
12. the optimization method of database as claimed in claim 11, it is characterized in that, described the first class of operation code is that common SQL statement is carried out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement, described the second class of operation code is for carrying out execute, only upgrade executeUpdate, only inquire about in executeQuery one or more code.
13. the optimization system of a database is characterized in that, comprises virtual machine, virtual machine agency and DB connector, wherein,
Described virtual machine be used for generating category information according to user's instruction, and the described database-driven category information that inweaves first code and the first class of operation code by described virtual machine agency loads;
The virtual machine agency, be used for obtaining virtual machine and load front category information, and described category information is analyzed to determine the database-driven category information in described category information, and inweave first code and the first class of operation code among described database-driven category information, and by described virtual machine agency, the laden described database-driven category information of described virtual machine is sent to DB connector;
Described DB connector, be used for database is changed and be sent to described laden database-driven category information, and according to the described first code that inweaves and the first class of operation Code obtaining data base manipulation statement, and according to described data base manipulation statement, described database is optimized.
14. the optimization system of database as claimed in claim 13, it is characterized in that, wherein, described the first class of operation code is the code of the instruction of the described first code of execution, and described first code is used for obtaining the data base manipulation statement of described database-driven category information when being performed.
15. the optimization system of database as claimed in claim 14 is characterized in that, described DB connector is carried out described first code to obtain described data base manipulation statement by described the first class of operation code.
16. the optimization system as the described database of claim 13-15 any one is characterized in that, described DB connector carries out index optimization to described database.
17. the optimization system of database as claimed in claim 16 is characterized in that, described DB connector further comprises:
Judge module is used for judging whether described data base manipulation statement is query sentence of database;
Explain the statement generation module, be used for generating the explanation statement of described data base manipulation statement according to described data base manipulation statement when the described data base manipulation statement of described judge module judgement is described query sentence of database;
Sending module is used for the explanation statement of described data base manipulation statement is sent to described database, to carry out the explanation statement of described data base manipulation statement by described database;
Receiver module is used for from the result set of the described explanation statement of described database reception; And
Optimize module, be used for when described data base manipulation statement does not make index of reference, creation database index creation statement, and described database initialize statement is sent to described database to increase corresponding index in described database.
18. the optimization system of database as claimed in claim 17 is characterized in that, described optimization module further comprises:
Analyzing sub-module is used for described data base manipulation statement is resolved to obtain field name among described data base manipulation statement; And
Create submodule, be used for creating described database index according to described field name and create statement.
19. the optimization system as the described database of claim 13-15 any one, it is characterized in that, described virtual machine agency also is used for inweaving second code and the second class of operation code among described database-driven category information, wherein, described the second class of operation code is the code of the instruction of the described second code of execution, described second code is used for obtaining the result set of described data base manipulation statement when being performed, and described second code is carried out after described data base manipulation statement is carried out.
20. the optimization system of database as claimed in claim 19 is characterized in that, described DB connector carries out large data sets optimization to described database.
21. the optimization system of database as claimed in claim 20 is characterized in that, described DB connector further comprises:
Execution module is used for after described database is carried out described data base manipulation statement, carries out described second code to obtain the result set of described data base manipulation statement by described the second class of operation code;
Analysis module is used for the result set of described data base manipulation statement is analyzed with the byte number of determining described result set and recorded line number;
Judge module is used at the byte number of described result set or when recording line number and surpassing preset value, judges further whether the send mode of described result set is the vernier mode; And
Module is set, is used for when the send mode of described result set is not the vernier mode, the send mode of described result set is set to the vernier mode.
22. the optimization system of database as claimed in claim 13 is characterized in that, described virtual machine is Java Virtual Machine, and described DB connector is the Java DB connector.
23. the optimization system of database as claimed in claim 22 is characterized in that, described category information is the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.
24. the optimization method of database as claimed in claim 23, it is characterized in that, described the first class of operation code is that common SQL statement is carried out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement, described the second class of operation code is for carrying out execute, only upgrade executeUpdate, only inquire about in executeQuery one or more code.
25. the acquisition methods of a data base manipulation statement is characterized in that, comprises the following steps:
Obtain the category information before virtual machine loads;
Described category information is analyzed to determine the database-driven category information in described category information;
Inweave first code and the first class of operation code among described database-driven category information;
According to the described first code that inweaves and the first class of operation Code obtaining data base manipulation statement.
26. the acquisition methods of data base manipulation statement as claimed in claim 25, it is characterized in that, wherein, described the first class of operation code is the code of the instruction of the described first code of execution, and described first code is used for obtaining the data base manipulation statement of described database-driven category information when being performed.
27. the acquisition methods of data base manipulation statement as claimed in claim 26 is characterized in that, the first code that described basis inweaves and the first class of operation Code obtaining data base manipulation statement further comprise:
The described database-driven category information that inweaves described first code and described the first class of operation code is loaded; And
Database is changed and be sent to described laden database-driven category information, and carry out described first code to obtain described data base manipulation statement by described the first class of operation code
28. the acquisition methods of data base manipulation statement as claimed in claim 27 is characterized in that, also comprises:
Described virtual machine agency inweaves second code and the second class of operation code among described database-driven category information, wherein, described the second class of operation code is the code of the instruction of the described second code of execution, described second code is used for obtaining the result set of described data base manipulation statement when being performed, and described second code is carried out after described data base manipulation statement is carried out.
29. the acquisition methods of data base manipulation statement as claimed in claim 25 is characterized in that, described virtual machine is Java Virtual Machine, and described DB connector is the Java DB connector.
30. the acquisition methods of data base manipulation statement as claimed in claim 29 is characterized in that, described category information is the category information that is loaded into the core classes java.lang.ClassLoader of described Java Virtual Machine.
31. the acquisition methods of data base manipulation statement as claimed in claim 30, it is characterized in that, described the first class of operation code is that common SQL statement is carried out description object StatementImpl, one or more code in pre-service SQL statement execution description object PreparedStatment and storing process SQL statement execution description object CallableStatement, described the second class of operation code is for carrying out execute, only upgrade executeUpdate, only inquire about in executeQuery one or more code.
CN201110421548.XA 2011-12-15 2011-12-15 The optimization method and device of data base Active CN103164455B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110421548.XA CN103164455B (en) 2011-12-15 2011-12-15 The optimization method and device of data base

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110421548.XA CN103164455B (en) 2011-12-15 2011-12-15 The optimization method and device of data base

Publications (2)

Publication Number Publication Date
CN103164455A true CN103164455A (en) 2013-06-19
CN103164455B CN103164455B (en) 2016-08-03

Family

ID=48587549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110421548.XA Active CN103164455B (en) 2011-12-15 2011-12-15 The optimization method and device of data base

Country Status (1)

Country Link
CN (1) CN103164455B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440161A (en) * 2013-08-15 2013-12-11 北京京东尚科信息技术有限公司 Java virtual machine internal object monitoring method, device and system
CN104714984A (en) * 2013-12-17 2015-06-17 中国移动通信集团湖南有限公司 Database optimization method and device
CN105320679A (en) * 2014-07-11 2016-02-10 中国移动通信集团重庆有限公司 Data table index set generation method and device
CN106033422A (en) * 2015-03-11 2016-10-19 中国移动通信集团内蒙古有限公司 A database operation control method, device and system
CN106528551A (en) * 2015-09-09 2017-03-22 北京国双科技有限公司 Memory application method and apparatus
CN109241076A (en) * 2018-08-01 2019-01-18 上海依图网络科技有限公司 A kind of data query method and device
CN110413641A (en) * 2019-07-15 2019-11-05 苏州浪潮智能科技有限公司 A kind of database Caton processing method and device
CN111831659A (en) * 2020-07-09 2020-10-27 天津车之家数据信息技术有限公司 Index checking method and device and computing equipment
CN114547086A (en) * 2022-04-22 2022-05-27 网易(杭州)网络有限公司 Data processing method, device, equipment and computer readable storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010020237A1 (en) * 1996-01-02 2001-09-06 David Yarnall Modularized data retrieval method and apparatus with multiple source capability
CN1330320A (en) * 2000-05-04 2002-01-09 国际商业机器公司 Universal driver service device
CN1499366A (en) * 2002-11-08 2004-05-26 深圳市中兴通讯股份有限公司 Loading method of driving program for database
US20050119999A1 (en) * 2003-09-06 2005-06-02 Oracle International Corporation Automatic learning optimizer
US20060074877A1 (en) * 2004-10-01 2006-04-06 Ralf Kuersch System and method for optimizing transaction termination
CN101059810A (en) * 2007-03-16 2007-10-24 华为技术有限公司 System and method for implementing automatic optimization of data base system
CN101226497A (en) * 2007-12-10 2008-07-23 金蝶软件(中国)有限公司 Application program monitoring system and monitoring method
CN101436209A (en) * 2008-12-15 2009-05-20 中兴通讯股份有限公司 Method and apparatus for synchronizing multiple databases
CN102110162A (en) * 2011-02-24 2011-06-29 北京中电普华信息技术有限公司 Method and device for realizing monitoring on SQL (structured query language) database

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010020237A1 (en) * 1996-01-02 2001-09-06 David Yarnall Modularized data retrieval method and apparatus with multiple source capability
CN1330320A (en) * 2000-05-04 2002-01-09 国际商业机器公司 Universal driver service device
CN1499366A (en) * 2002-11-08 2004-05-26 深圳市中兴通讯股份有限公司 Loading method of driving program for database
US20050119999A1 (en) * 2003-09-06 2005-06-02 Oracle International Corporation Automatic learning optimizer
US20060074877A1 (en) * 2004-10-01 2006-04-06 Ralf Kuersch System and method for optimizing transaction termination
CN101059810A (en) * 2007-03-16 2007-10-24 华为技术有限公司 System and method for implementing automatic optimization of data base system
CN101226497A (en) * 2007-12-10 2008-07-23 金蝶软件(中国)有限公司 Application program monitoring system and monitoring method
CN101436209A (en) * 2008-12-15 2009-05-20 中兴通讯股份有限公司 Method and apparatus for synchronizing multiple databases
CN102110162A (en) * 2011-02-24 2011-06-29 北京中电普华信息技术有限公司 Method and device for realizing monitoring on SQL (structured query language) database

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于晓慧: "J2EE架构下数据库访问的性能优化研究", 《计算机应用研究》, 31 December 2005 (2005-12-31), pages 90 - 92 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440161B (en) * 2013-08-15 2017-03-29 北京京东尚科信息技术有限公司 A kind of Java virtual machine internal object monitoring method, device and system
CN103440161A (en) * 2013-08-15 2013-12-11 北京京东尚科信息技术有限公司 Java virtual machine internal object monitoring method, device and system
CN104714984A (en) * 2013-12-17 2015-06-17 中国移动通信集团湖南有限公司 Database optimization method and device
CN105320679B (en) * 2014-07-11 2019-05-24 中国移动通信集团重庆有限公司 A kind of tables of data indexed set symphysis is at method and device
CN105320679A (en) * 2014-07-11 2016-02-10 中国移动通信集团重庆有限公司 Data table index set generation method and device
CN106033422A (en) * 2015-03-11 2016-10-19 中国移动通信集团内蒙古有限公司 A database operation control method, device and system
CN106528551A (en) * 2015-09-09 2017-03-22 北京国双科技有限公司 Memory application method and apparatus
CN109241076A (en) * 2018-08-01 2019-01-18 上海依图网络科技有限公司 A kind of data query method and device
CN110413641A (en) * 2019-07-15 2019-11-05 苏州浪潮智能科技有限公司 A kind of database Caton processing method and device
CN111831659A (en) * 2020-07-09 2020-10-27 天津车之家数据信息技术有限公司 Index checking method and device and computing equipment
CN111831659B (en) * 2020-07-09 2022-09-06 天津车之家数据信息技术有限公司 Index checking method and device and computing equipment
CN114547086A (en) * 2022-04-22 2022-05-27 网易(杭州)网络有限公司 Data processing method, device, equipment and computer readable storage medium
CN114547086B (en) * 2022-04-22 2022-07-22 网易(杭州)网络有限公司 Data processing method, device, equipment and computer readable storage medium

Also Published As

Publication number Publication date
CN103164455B (en) 2016-08-03

Similar Documents

Publication Publication Date Title
CN103164455A (en) Optimization method and optimization device of data base
CN107247808B (en) Distributed NewSQL database system and picture data query method
US11372855B2 (en) Metadata-based general request translator for distributed computer systems
US7739269B2 (en) Incremental repair of query plans
CN109446218A (en) SQL statement generation method, device and computer readable storage medium
US20180046675A1 (en) Automatic adjustment of an execution plan for a query
US8145655B2 (en) Generating information on database queries in source code into object code compiled from the source code
US9098500B1 (en) Revision history storage and maintenance
CN103164249A (en) Extension mechanism for scripting language compiler
US8874601B2 (en) SADL query view—a model-driven approach to speed-up read-only use cases
US20130066890A1 (en) Method and system for specifying, preparing and using parameterized database queries
CN102479255B (en) Optimizing database query
US11487742B2 (en) Consistency checks between database systems
CN104102652A (en) Unstructured data storage system and method
US10275234B2 (en) Selective bypass of code flows in software program
US20140258321A1 (en) Dynamic bridging of application and data servers
Fisun et al. Query parsing in order to optimize distributed DB structure
CN115686487A (en) Business logic arrangement method and device, electronic equipment and storage medium
CN110941629A (en) Metadata processing method, device, equipment and computer readable storage medium
US10915541B2 (en) Generic API
CN111858280B (en) SQL information processing method, device, equipment and system
CN109726213B (en) Program code conversion method, device, medium and computing equipment
CN116361184A (en) Data searching method, device, medium and computer equipment
US20170109331A1 (en) Managing changes to a document in a revision control system
CN116360735A (en) Form generation method, device, equipment and medium

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