Dynamic row count prediction techniques

By using neural network models to predict and optimize SQL query parameters, the problems of inaccurate SQL query results and resource waste are solved, and efficient and accurate query result generation is achieved.

CN121058013APending Publication Date: 2025-12-02VISA INTERNATIONAL SERVICE ASSOCIATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380096317.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-04-11
Publication Date
2025-12-02

AI Technical Summary

Technical Problem

Existing technologies suffer from wasted computational resources and inaccurate results when generating SQL query results, especially in complex databases. Users are prone to making mistakes when constructing queries, resulting in unpredictable quantity and quality of query results and excessive resource consumption.

Method used

A neural network model is used to predict query results. The generator and processor identify query parameters, generate input vectors, and modify query parameters to reduce computational resource consumption and improve accuracy. A dynamic prediction generator and neural network model are used for preprocessing and result prediction.

Benefits of technology

It effectively reduces the computing resources required to generate SQL query results, improves the accuracy and efficiency of query results, and can predict and optimize query parameters before executing the query, reducing resource consumption and time waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121058013A_ABST
    Figure CN121058013A_ABST
Patent Text Reader

Abstract

A computer-implemented method of processing structured query language (SQL) queries is provided. The method may include identifying a parameter of the SQL query; generating a plurality of input vectors based on the parameters of the SQL query; transmitting the plurality of input vectors to an input layer of a neural network; and receiving a predicted number of rows associated with the input vector generated by an output layer of the neural network. The predicted number of rows may be generated based on a descent gradient of the neural network. The method may further include modifying the parameter of the SQL query based on the predicted number of rows to generate a modified parameter, where the modified parameter is configured to reduce computing resources required to generate SQL query results, and where the modified parameter is configured to improve accuracy of the SQL query results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to machine learning techniques for enhancing query results, and more specifically, to techniques for predicting and improving query results based on data type and input conditions. Summary of the Invention

[0002] On one hand, this disclosure provides a computer-implemented method for processing Structured Query Language (“SQL”) queries. The method may include: having a processor identify parameters of the SQL query; having the processor generate a plurality of input vectors based on the parameters of the SQL query; having the processor transmit the plurality of input vectors to an input layer of a neural network; having the processor receive a predicted number of rows associated with the input vectors generated by an output layer of the neural network, wherein the predicted number of rows is generated based on a descent gradient of the neural network; and having the processor modify the parameters of the SQL query based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce the computational resources required to generate SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

[0003] On one hand, this disclosure provides a system for processing SQL queries. The system may include: a dynamic prediction generator including a processor and a memory configured to store a neural network model; and a user device including a processor and a memory, wherein the memory is configured to store instructions that, when executed by the processor, cause the user device to: identify parameters of the SQL query; generate a plurality of input vectors based on the parameters of the SQL query; transmit the plurality of input vectors to an input layer of the neural network; receive a predicted number of rows associated with the plurality of input vectors from an output layer of the neural network, wherein the predicted number of rows is generated based on the descent gradient of the neural network and hidden states generated by intermediate layers of the neural network; and modify the parameters of the SQL query based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce the computational resources required to generate SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

[0004] On one hand, this disclosure provides a computer-implemented method for processing SQL queries. The method may include: receiving a plurality of input vectors based on parameters of the SQL query by an input layer of a neural network; converting the plurality of input vectors into hidden states by an intermediate layer of the neural network based on a plurality of randomly initialized weights, wherein the plurality of randomly initialized weights are determined based on the descent gradient of the neural network; generating a predicted number of rows by an output layer of the neural network based on the hidden states; generating a suggestion to modify the SQL query based on the predicted number of rows; and transmitting the suggestion to a processor, wherein implementation of the suggestion improves the SQL query result. Attached Figure Description

[0005] In this description, specific details, such as particular aspects, procedures, and techniques, are set forth for purposes of explanation and not limitation, in order to provide a thorough understanding of the art. However, those skilled in the art will understand that the art can be practiced in other ways, departing from these specific details.

[0006] The accompanying drawings and the following detailed description are incorporated in and form part of this specification, and are used to further illustrate aspects of the claimed disclosure and to explain the various principles and advantages of those aspects. In the drawings, the same reference numerals in the various views refer to the same or functionally similar elements.

[0007] The devices, systems, and methods disclosed herein have been represented by conventional symbols in the accompanying drawings, showing only those specific details relevant to understanding various aspects of this disclosure, so as not to obscure this disclosure by details that are obvious to those skilled in the art who benefit from the description herein.

[0008] Figure 1 A block diagram of a system configured to generate query output predictions according to at least one aspect of this disclosure is shown; Figure 2 This demonstrates at least one aspect of a configuration to be provided by Figure 1 A block diagram of the neural network model executed by the system; Figure 3 A flowchart illustrating a method for generating query output predictions according to at least one aspect of this disclosure is provided; Figure 4 This demonstrates at least one aspect of the method based on the present disclosure. Figure 3 The method predicts the output for retraining Figure 2 The logical flowchart of the neural network model method; Figure 5 A computer-implemented method for processing queries according to at least one aspect of this disclosure is shown; Figure 6Another computer-implemented method for processing queries according to at least one aspect of this disclosure is shown; Figure 7 A block diagram of a computer device having a data processing subsystem or component according to at least one aspect of this disclosure is shown; and Figure 8 A schematic representation of an example system according to at least one aspect of this disclosure is shown, the example system including a host in which a set of instructions can be executed to perform any one or more of the methods discussed herein. Detailed Implementation

[0009] The following disclosure provides exemplary systems, apparatuses, and methods for conducting financial transactions and related activities. While references to such financial transactions may be made in the examples provided below, the scope is not limited thereto. That is, these systems, methods, and apparatuses can be used for any suitable purpose.

[0010] Before discussing specific aspects or examples, the following provides some descriptions of the terminology used in this article.

[0011] An "application" can include any software module configured to perform one or more specific functions when executed by a computer's processor. For example, a "mobile application" can include a software module configured to operate by a mobile device. Applications can be configured to perform many different functions. For example, a "payment application" can include a software module configured to store and provide account credentials for transactions. A "wallet application" can include a software module with functionality similar to a payment application, having multiple configured or registered accounts that can be used through the wallet application. Additionally, an "application" or "application programming interface" (API) refers to computer code or other data ordered on a computer-readable medium that can be executed by a processor to facilitate interaction between software components, such as client-side front-ends and / or server-side back-ends for receiving data from clients. An "interface" refers to a generated display, such as one or more graphical user interfaces (GUIs) with which a user can interact directly or indirectly (e.g., via a keyboard, mouse, touchscreen, etc.).

[0012] The terms "client device" and "user device" refer to any electronic device configured to communicate with one or more servers or remote devices and / or systems. Client devices or user devices may include mobile devices, network-enabled appliances (e.g., network-enabled televisions, refrigerators, thermostats, etc.), computers, POS systems, and / or any other devices or systems capable of communicating with a network. Client devices may further include desktop computers, laptop computers, mobile computers (e.g., smartphones), wearable computers (e.g., watches, glasses, lenses, clothing, etc.), cellular phones, network-enabled appliances (e.g., network-enabled televisions, refrigerators, thermostats, etc.), point-of-sale (POS) systems, and / or any other devices, systems, and / or software applications configured to communicate with remote devices or systems.

[0013] As used herein, the terms "communication" and "communicate" can refer to the reception, receiving, transmission, delivery, provision, etc., of information (e.g., data, signals, messages, instructions, calls, commands, etc.). Communication can use direct or indirect connections and can be wired and / or wireless in nature. As an example, communication between one unit (e.g., a device, system, component of a device or system, combination thereof, etc.) and another unit means that the first unit can receive information directly or indirectly from and / or transmit information to the other unit. A unit can communicate with another unit even if information can be modified, processed, relayed, and / or routed between the two units. In one instance, a first unit can communicate with a second unit even if it receives information but does not transmit the information to the second unit. For example, a first unit can communicate with a second unit even if it passively receives data and does not actively transmit data to the second unit. As another example, if an intermediary unit (e.g., a third unit located between the first and second units) receives information from the first unit, processes the information received from the first unit to produce processed information, and passes the processed information to the second unit, then the first unit can communicate with the second unit. In some non-limiting aspects, a message can refer to a packet that includes data (e.g., a data packet, a network packet, etc.). It should be understood that many other arrangements are possible.

[0014] As used herein, the term "comprising" is not intended to be restrictive, but rather can be a transitional term synonymous with "including," "containing," or "characterizing." The term "comprising" can thus be inclusive or open-ended, and does not exclude additional, unreferenced elements or method steps used in the claims. For example, in describing a method, "comprising" indicates that the claim is open-ended and allows for additional steps. In describing an apparatus, "comprising" may mean that a named element may be essential to one side, but other elements may be added, and the construction still forms within the scope of the claims. In contrast, the transitional phrase "consisting of" excludes elements, steps, or components not specified in the claims. This is consistent with the use of terminology throughout the specification.

[0015] As used herein, the term "computing device" or "computer apparatus" can refer to one or more electronic devices configured to communicate directly or indirectly with or on one or more networks. A computing device can be a mobile device, a desktop computer, etc. As examples, a mobile device can include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., a watch, glasses, a chip, clothing, etc.), a personal digital assistant (PDA), and / or other similar devices. A computing device may not be a mobile device, such as a desktop computer. Furthermore, the term "computer" can refer to any computing device that includes the necessary components for sending, receiving, processing, and / or outputting data and typically includes a display device, a processor, memory, an input device, a network interface, etc.

[0016] Databases are becoming increasingly complex as various personal and business applications increasingly track, manage, and access data. For example, a company database may contain thousands of tables, and a simple "search by name" may not efficiently return the expected results. Knowing how to locate the desired entry within an extremely large database schema can be both difficult and resource-intensive. Therefore, database designers are constantly seeking improved—and more importantly, efficient—techniques to identify the right entry from the right objects within a complex database schema.

[0017] Structured Query Language (SQL) has become a dedicated language for updating, deleting, and requesting information from databases and has been adopted as the ANSI and ISO standard for database queries. Although the language for generating queries has been standardized, a significant amount of user-driven error remains, based on how users assemble queries. In other words, the quantity and quality of results can vary depending on how the user constructs the query. For example, if certain conditions are not correctly applied in the query, it may not return the expected number of rows. This is because query results often depend on the type of data selected and the conditions implied by the user. If the user does not include appropriate data types and / or conditions, the results may be inaccurate, or alternatively, and / or additionally, the results may be very large, potentially wasting both time and money, as this comes at the cost of the computational resources required to process the query.

[0018] Typically, malformed queries may not return any data at all. Worse still, users may not know the type of results until the query has finished running (which can take several hours, depending on the query format). Only after the results are returned can users weaken the underlying conditions and components of the query and run the report again. This problem worsens as the complexity and length of queries increase. In short, conventional devices, systems, and methods are not configured to generate the baseline expectation of query results, and therefore present a technical hurdle for developers seeking to proactively reduce the amount of computational resources required to process suboptimal queries. Therefore, dynamic prediction techniques (such as dynamic row counting or hit count prediction techniques) are needed that inform and improve the structure of queries, enhance the quality of results, and reduce the amount of computational resources required to achieve these results.

[0019] Such techniques may include implementing algorithmic methods for preprocessing queries, the results of which include a baseline expectation of query results based on previously preprocessed queries. Therefore, the apparatuses, systems, and methods disclosed herein enable users to predict query results without investing time, money, and computational resources to execute the request. For example, the methods may involve neural network models to predict output or characteristics of the output, including, for example, predicting the number of rows or hits that may be generated in response to a query.

[0020] Based on the generated predictions, the apparatus, system, and method disclosed herein can further implement mathematical functions to train a neural network model. In at least one instance, the apparatus, system, and method disclosed herein can implement Mean Absolute Percentage Error (MAPE) to train the neural network model. For example, MAPE can be obtained by taking the characteristics of the actual query results and comparing them with... Figure 2 The difference between the features of the predicted query results by the neural network model 2000 divided by the features of the actual query results (e.g., The quotient is calculated as the average of the values ​​within the parentheses, where "AVG" includes calculating the average of the values ​​within the parentheses, "Actual" includes the actual output of the query, and "Predicted" includes the values ​​calculated by... Figure 2 The neural network model 2000 generates the predicted output of the query (assuming that the predicted and actual characteristics of the query output are quantifiable metrics (e.g., number of rows, etc.)).

[0021] Therefore, the apparatus, system, and method disclosed herein can be configured to continuously improve the accuracy and precision of the results generated by the algorithmic method, thereby timely refining query performance. According to some non-limiting aspects of this disclosure, the apparatus, system, and method disclosed herein can be configured to autonomously provide proposed modifications to the query, which will produce more accurate and precise results with less computational resources. According to other non-limiting aspects of this disclosure, the apparatus, system, and method disclosed herein can be configured to autonomously modify the query based on proposed modifications.

[0022] Therefore, it should be understood that the apparatus, systems, and methods disclosed herein are specifically configured to provide technical solutions to the aforementioned technical problems. Specifically, the apparatus, systems, and methods disclosed herein are configured to preprocess one or more queries and provide a preliminary characterization of the predicted output (e.g., the predicted number of rows), as well as suggestions for improvement of the queries, enabling users to enhance the accuracy and precision of the generated output and generate output using fewer computational resources. For example, the apparatus, systems, and methods disclosed herein can preliminarily validate data types (e.g., integers, characters, currencies, dates and times, binary, etc.) and conditions (e.g., composite conditions, floating-point conditions, group comparison conditions, logical conditions, range conditions, etc.) before resources are consumed. For example, according to some non-limiting aspects, validation can be "preliminary," in which sense, the validation is performed before the query is executed. However, according to other non-limiting aspects, validation can be performed in parallel with the execution of the query. According to still other non-limiting aspects, validation can be time-based or based on multiple results. Furthermore, the apparatus, systems, and methods disclosed herein can generate suggestions for modifications to the initially selected data types and conditions, and in some cases, can autonomously implement changes to the query before execution. Furthermore, the apparatuses, systems, and methods disclosed herein can significantly improve the operational efficiency of conventional systems to a certain extent, which is increasingly important for large and complex database schemas. The ability to operate efficiently at large scale further emphasizes and distinguishes the capabilities of the apparatuses, systems, and methods disclosed herein from those of a single developer or team of developers. Because the apparatuses, systems, and methods disclosed herein can predict query outputs and improve queries based on these predictions without executing the queries, even a team of developers would require significant computational resources to generate the insights and improvements provided by the apparatuses, systems, and methods disclosed herein. Therefore, the apparatuses, systems, and methods disclosed herein improve upon conventional techniques and provide practical, tangible results that developers cannot achieve on their own.

[0023] Now for reference Figure 1 The diagram depicts a block diagram of a system 1000 configured to generate query output predictions according to at least one aspect of this disclosure. According to some non-limiting aspects, the query can be an SQL query, and the output prediction or the predicted SQL query result can, for example, include the expected number of rows or hits of the expected output. However, as will be described in further detail herein, according to other non-limiting aspects, the system 1000 can be configured to generate other output predictions from queries written in various different languages. Figure 1 In a non-limiting aspect, system 1000 may include user device 1002, dynamic prediction generator 1003, and multiple data sources 1010 communicatively coupled via communication network 1008. a-nFor example, the communication network 1008 may include any form of wired communication (e.g., local area network, Ethernet, fiber optic, etc.) and / or any form of wireless communication (e.g., wireless local area network, WiFi, cellular, Bluetooth, Zigbee, near field communication, etc.).

[0024] It should be understood that Figure 1 The dynamic prediction generator 1003 of system 1000 may include any computing device (e.g., laptop computer, personal computer, server, smartphone, tablet computer, wearable device, etc.) having a configuration to perform the method 2000 disclosed herein. Figure 2 ), 3000 ( Figure 3 The processor 1005 and memory 1007 of any of the methods described herein. Similarly, the user device 1002 may include any computing device (e.g., laptop computer, personal computer, server, smartphone, tablet computer, wearable device, etc.) having a processor 1004 and memory 1006. For example, according to some non-limiting aspects, the memory 1007 of the dynamic prediction generator 1003 may be configured to store one or more algorithms and / or models that, when executed by the processor 1005, cause the dynamic prediction generator 1003 to perform one or more steps of the methods disclosed herein.

[0025] although Figure 1 The non-restrictive aspects demonstrate a large number of data sources 1010 a-n To emphasize System 1000's ability to perform large-scale and efficient preprocessing of queries, it should be understood that, according to some non-restrictive aspects, System 1000 may include a single data source 1010. a It should be further understood that components 1002, 1003, and 1010 of system 1000... 1-n Any component in can include Figure 7 Computer equipment 7000 and / or Figure 8 At least one of the hosts 8002, any one of which can be specifically configured to perform one or more steps of the methods disclosed herein. Additionally, although Figure 1 System 1000 includes a user device 1002, a dynamic prediction generator 1003, and multiple data sources 1010. a-n Each data source in the process is a single block. It should be understood that, according to some non-limiting aspects, user device 1002, dynamic prediction generator 1003, and multiple data sources 1010 a-n Each data source may include two or more devices, computers, and / or servers configured to perform the functions disclosed herein.

[0026] Figure 1System 1000 and one or more data sources 1010 a-n It can be configured as a relational database or as a system object that stores related system objects. a-n 1014 a-n 1016 a-n And provides access to the database. Therefore, multiple data sources 1010 1-n 1010 for each data source n It can include one or more system objects 1012 a-n 1014 a-n 1016 a-n This could be a data structure configured to store or reference data (e.g., a table, form, report, etc.). However, according to some non-limiting aspects, system 1000 may use system object 1012. a-n 1014 a-n 1016 a-n Such as schemas, logs, directories, aliases, views, indexes, limits, triggers, sequences, stored procedures, user-defined functions, user-defined types, global variables, and / or SQL packages.

[0027] In short, Figure 1 System 1000 is configured to generate and / or process queries, which enables users to access and / or manipulate data stored in multiple data sources 1010. 1-n System object 1012 in each data source a-n 1014 a-n 1016 a-n The data stored in it. In this way, Figure 1 System 1000 can use queries to store, update, remove, search, and retrieve data from data source 1010. 1-n Information. System 1000 can also be configured to maintain and optimize data source 1010. 1-n The performance of each data source in the dataset. For example, according to a non-restrictive aspect, Figure 1 The System 1000 can be used to generate and / or process SQL queries because SQL integrates well with various programming languages. For example, SQL queries can be embedded within the Java programming language to build high-performance data processing applications with major SQL database systems. SQL is also easy to learn because it uses common English keywords in its statements. However, it should be understood that, according to other non-restrictive aspects, Figure 1System 1000 can be configured to generate and process queries written in alternative languages ​​such as SchemeQL, LINQ, ScalaQL, ScalaQuery, SqlStatement, ActiveRecord, and / or HaskellDB. In other words, Figure 1 System 1000 can adopt the reference Figure 2 and Figure 3 The publicly available methods 200 and 300 are used to preprocess and modify queries in various languages, not just SQL.

[0028] Further reference Figure 1 User device 1002 can be configured to receive queries through its user interface. It should be understood that a specific query can be stored by user device 1002 as a program configured to be invoked and executed multiple times. A query may include one or more user-defined variables and / or parameters. According to some non-limiting aspects, variables can be configured to hold one or more data values ​​of a specific type. According to some non-limiting aspects, parameters can be configured to exchange data between stored programs and functions initiated when the dynamic prediction generator 1003 processes the query. Variables can be assigned identification names and / or system-supplied or user-defined data types and lengths. Input parameters can be configured to pass data values ​​to stored programs or functions. Output parameters can be configured to pass data values ​​back to the caller or user device 1002. In summary, it should be understood that in Figure 1 In System 1000, the variables and parameters used in the query are configured for different purposes.

[0029] Depend on Figure 1 The query or procedure generated by the user device 1002 of system 1000 may include parameters specified by the user or system 1000, such as name, data type, and / or direction. Default values ​​may be assigned to parameters, depending on some non-limiting aspects. Each parameter attribute can be configured for different purposes during the query or procedure call, and therefore modifying the parameter attributes can change the effectiveness and / or efficiency of the query and / or procedure. For example, the data type is the search term for object 1012. a-n 1014 a-n 1016 a-n The query and / or program attributes of specific types of stored data (e.g., integer data, character data, currency data, date and time data, binary strings, etc.). According to a non-restrictive aspect, multiple data sources 1010 1-n 1010 for each data source n A set of system data types can be supplied, which defines the data types that can be used with this specific data source 1010. n All types of data used together.

[0030] Alternatively or additionally, by Figure 1 The query or procedure generated by the user device 1002 of the system 1000 may include conditional statements configured to define logic to be executed based on whether defined conditions are met. For example, according to some non-limiting aspects, the conditions of the query may include one or more expressions and logical operators (e.g., binary logic, such as Boolean logic, ternary logic, sentence logic, Kleene logic, and / or Priest logic, etc.), which are configured to return the value of at least one component of the query or procedure (e.g., TRUE, FALSE, unknown, etc.). For example, conditions can include regular conditions (e.g., IF, CASE, SELECT, INFULL, etc.), compound conditions (e.g., EQUALS_PATH, EXISTS, etc.), floating-point conditions (e.g., expr IS, etc.), group comparison conditions (e.g., IN, IS A SET, IS ANY, IS EMPTY, IS OF TYPE, IS PRESENT, LIKE, etc.), logical conditions (e.g., MEMBER, NULL, etc.), range conditions (e.g., REGEXP_LIKE, etc.), and / or simple comparison conditions (e.g., SUBMULTISET, UNDER_PATH, etc.). In other words, query parameters (such as conditional statements) allow users to perform logical operations through the query. Therefore, conditional statements add complexity to queries that provide additional functionality, but allow users to modify the query and view the data source. 1-n The way information is presented.

[0031] As discussed earlier, the type and / or combination of the parameter attributes of the query can be determined. Figure 1 The system 1000 processes queries and returns results with greater effectiveness and / or efficiency. Therefore, the system 1000—and more specifically, the dynamic prediction generator 1003—can be specifically configured to preprocess queries received from the user device 1002. Specifically, the dynamic prediction generator 1003 can employ the algorithmic methods disclosed herein to preprocess queries received from the user device 1002 to predict and / or otherwise characterize estimated results of the queries. Such predictions can serve as a baseline expectation of query results based on past queries already processed and / or preprocessed by the system 1000, and, according to some non-limiting aspects, query generation parameters can be modified to improve the accuracy, precision, and efficiency of the results generated during processing. The system 1000 can generate these benefits without investing time, money, and / or computational resources to fully process the queries.

[0032] Now for reference Figure 2 According to at least one non-limiting aspect of this disclosure, a configuration configured by Figure 1 The block diagram of the neural network model 2000 executed by the system. Specifically, the neural network model 2000 can be stored in... Figure 1 The dynamic prediction generator 1003 of system 1000 is stored in memory 1007 and configured to generate predictions, including a representation of the prediction results (e.g., the number of rows that will be returned when processing a query). According to some non-limiting aspects, Figure 1 The dynamic prediction generator 1003 of system 1000 can use neural network model 2000 to transmit the prediction results, so as to... Figure 1 The system 1000's user device 1002 receives data from its processor 1004. Therefore, the user device 1002 can be configured to receive data from... Figure 1 The system displays predicted results to 1000 users, provides generated suggestions for query modification, which will improve the actual efficiency and results of the query, and / or allow users to autonomously implement query modifications to improve the actual efficiency and results of the query.

[0033] In addition, according to Figure 2 In a non-limiting aspect, the neural network model 2000 may include a multilayer perceptron (MLP) model 2004 that is a feedforward neural network, the feedforward neural network including multiple layers (e.g., input layer 2001, output layer 2003) configured to generate one or more outputs (e.g., predicted output 2005) from a set of inputs 2002. Although Figure 2 The neural network model 2002 is an MLP. It should be understood that, according to other non-limiting aspects of this disclosure, other neural network models (including long short-term memory networks, convolutional neural networks and / or recurrent neural networks, etc.) can also be implemented to achieve similar effects.

[0034] Further reference Figure 2 In a non-limiting aspect, the input 2002 of the neural network model 2000 may include a query, parameters for query identification and / or training data 2006, as well as other inputs required to characterize the predicted results of the query and / or improve the performance of the neural network model 2000 itself. Alternatively, Figure 1 The processor 1005 of the dynamic prediction generator 1003 of the system 1000 can... Figure 3 Method 3000 preprocesses the query and assigns one or more identified parameters 3006 a-c Input 2002 is provided to neural network model 2000. For example, processor 1005 ( Figure 1One or more input vectors can be generated based on the identified parameters, wherein the one or more input vectors are specifically formatted for reception by the input layer 2001 of the neural network model 2000. According to some non-limiting aspects, an input array can be generated and converted into a vector via an embedding vector. It should be understood that vector embeddings can include a list of numbers representing many types of data, including queries and query parameters.

[0035] Based on these inputs in 2002, Figure 2 The input layer 2001 of the neural network model 2000 can be configured to transform one or more input vectors into hidden states based on multiple randomly initialized weights. For example, the hidden states can be processed by one or more intermediate layers of the neural network model 2000 positioned between the input layer 2001 and the output layer 2003. These intermediate layers, along with their inputs and outputs (e.g., the hidden states), are considered "hidden" because they cannot be directly observed from the inputs 2002 and outputs 2005 of the neural network model 2000. However, the hidden states are generated by intermediate layers of the neural network model 2002 based on randomly initialized weights configured to converge the inputs 2002 to the output 2005 with desired accuracy and precision.

[0036] Still referencing Figure 2 Once the output layer 2003 of the neural network model 2000 has processed the hidden states, the output layer 2003 can be configured to generate one or more outputs 2005, which can be transmitted to the processor 1005 of the dynamic prediction generator 1003 for reception. As previously described, the output 2005 may include a representation of the predicted output, including but not limited to the predicted number of rows of the output, and proposed modifications to the query parameters that would improve the actual efficiency and results of the query. Dynamic prediction generator 1003 ( Figure 1 It can be configured to transmit the predicted results and modified outputs to 2005. Figure 1 The processor 1004 of the user device 1002 of the system 1000 is used for analysis and / or implementation.

[0037] according to Figure 2 The non-restrictive aspects, Figure 1 The dynamic prediction generator 1003 can be further configured to perform a comparison 2005 of the prediction generated by the neural network model 2000 with the actual result or at least a portion of the actual result generated when the system 1000 runs a query, 2008, wherein the actual result or at least a portion of the actual result can be provided back to the dynamic prediction generator 1003 as training data 2006. Based on this training data 2006, the dynamic prediction generator 1003 can be configured to generate an error signal 2009. For example, Figure 1 The dynamic prediction generator 1003 can calculate the MAPE, which is configured to characterize the accuracy of the output 2005 generated by the neural network model 2000. Of course, this disclosure considers other non-limiting aspects, in which alternative means of characterizing the accuracy of the output 2005 are employed. The error signal 2009 is stored as... Figure 1 The system 1000 provides input to the learning algorithm in the memory 1007 of the dynamic prediction generator 1003, which generates weight modifications 2011, modifying the weights of the hidden state in the neural network model 2002, and the hidden state determines the accuracy of the generated output 2005. In other words, as referenced... Figure 4 A more detailed description, Figure 1 The dynamic prediction generator 1003 can be configured to adjust the randomly initialized weights based on an optimized descent gradient. It should be understood that adjusting the randomly initialized weights can improve the accuracy of the predicted results or output representation (e.g., the number of rows predicted). Therefore, Figure 1 The dynamic prediction generator 1003 can employ Figure 2 The neural network model 2000 is used to continuously improve the quality of the generated output 2005, including more accurate prediction of query results and improved parameter modifications, which are configured to further improve the accuracy and efficiency of future queries.

[0038] Now for reference Figure 3 A logical flowchart of a method 3000 for generating query output prediction according to at least one aspect of this disclosure. Figure 3 Method 3000 can be derived from Figure 1 One or more components of system 1000 execute. For example, according to Figure 3 In a non-limiting aspect, method 3000 may include receiving a query 3002. The query can be provided by a user through... Figure 1 The user device 1002 is generated by the processor 1004, and through Figure 1 The processor 1005 of the dynamic prediction generator 1003 receives the query 3002. Upon receiving the query 3002, method 3000 may further include... Figure 1 The processor 1005 of the dynamic prediction generator 1003 preprocesses the query 3004. According to some non-limiting aspects, the preprocessing of the query 3004 may involve one or more natural language processing (NLP) libraries (e.g., natural language toolkits (e.g., NLTK, etc.) and / or regular expressions (e.g., Python, etc.)), where any one of the NLP libraries can assist... Figure 1The dynamic prediction generator 1003 understands the meaning, tone, context, and / or intent of the desired query output. For example, the regular expression may include a sequence of characters forming a search pattern configured to confirm... Figure 1 One or more data sources 1010 1-n One or more objects 1012 a-n Whether a specified search pattern is included. In other words, preprocessing query 3004 includes a degree of sentiment analysis, which is configured to enhance the generated output prediction. Preprocessing query 3004 may include identifying 3006 a-c One or more parameters or characteristics to be queried. For example, among other parameters, one or more parameters may include... Figure 1 One or more data sources 1010 1-n (e.g., [Table 1, Table 2], etc.), selection of one or more conditions (e.g., [Condition 1, Condition 2], etc.) and / or selection of one or more display requests (e.g., [Display 1, Display 2], etc.). Method 3000 can then transmit one or more identified parameters 3008 to a neural network model (e.g., Figure 2 The input layer of the neural network model (2000).

[0039] It should be further understood that, based on other non-restrictive aspects, Figure 3 Method 3000 may include by Figure 1 The processor 1004 of the user device 1002 generates and preprocesses query 3004, and transmits one or more identified parameters to the storage... Figure 1 The neural network model 2000 in the memory 1007 of the dynamic prediction generator 1003 ( Figure 2 Regardless of which system 1000 component performs preprocessing 3004, method 3000 may include using a neural network model 2000 based on one or more identified parameters (such as the predicted number of rows in the expected query output). Figure 2 Method 3000 predicts the characteristics of the output or results of query 3010. As previously described, the number of rows returned by a query can indicate the amount of time and / or computational resources required to process and respond to the query. However, it should be understood that, depending on other non-limiting aspects, method 3000 can be configured to predict other characteristics of the expected query output.

[0040] For example, if Figure 3 Method 3000 predictive queries will return a large number of hits, then dynamic predictive generator 1003 ( Figure 1It can be determined that the query, in its original form, may require a significant amount of time to process, demand substantial computational resources, and / or produce suboptimal results (e.g., inaccurate, no results, etc.). Therefore, according to some non-limiting aspects, method 3000 may include using a dynamic prediction generator 1003 and / or Figure 1 Other components of system 1000 generate one or more suggestions modifying the original query. These modifications can be configured to alter the characteristics of the output predictions, and therefore require less processing time, fewer computational resources, and / or produce better results (e.g., more accurate results) compared to the original query. According to other non-limiting aspects, method 3000 may include dynamic prediction generator 1003 and / or Figure 1 Other components of system 1000 autonomously implement one or more suggestions to modify the original query. However, according to other non-limiting aspects, method 3000 may include modifications by dynamic prediction generator 1003 and / or Figure 1 Other components of system 1000 transmit one or more suggested modifications to the original query to user device 1002 for implementation by the user. For example, modifications to the query may include modifying conditions to make the result set more accurate, modifying the columns to be displayed to obtain fewer rows and columns, which may make the query run faster, and / or changing the query if the predicted number of rows is less than expected.

[0041] Further reference Figure 3 Method 3000 may further include receiving the actual result (3014) after processing the original query, and storing both the predicted result (3012) and the actual result, for example, stored in... Figure 1 The dynamic prediction generator 1003 is stored in memory 1007. Therefore, method 3000 may subsequently include calculating 3016 the percentage error of the predicted result based on the predicted result and the actual result. For example, as previously discussed, Figure 1 The dynamic prediction generator 1003 can calculate the MAPE, which is configured to characterize as... Figure 2 The accuracy of the predicted output generated by the neural network model 2000, or any other means of characterizing the accuracy of output 2005. Based on the calculated error, method 3000 may include calculating 3016 and Figure 2 The percentage error associated with the predicted output generated by the neural network model 2000. For example, as previously discussed, the calculated error can be used to modify... Figure 2 The neural network model 2002 generates weights for the hidden states, which determine the predicted output and the accuracy of its representation. Therefore, Figure 3 Method 3000 can be derived from Figure 1 One or more components of system 1000 and Figure 2 The neural network model 2000 is executed to continuously improve the quality of the predicted output.

[0042] For example, according to some non-restrictive aspects, Figure 3 Method 3000 is implemented as a preprocessed SQL query, such as: "Select id, name from employees, where tlt = 'Data and AI Platform'". During the preprocessing step 3004, Method 3000 can identify the data source 1010 to be queried. 1-n Data object 1012 of a table (e.g., [employees], etc.) n 1014 n 1016 n The first parameter (e.g., the table to be used), the second parameter associated with the conditions to be applied by the query (e.g., [tlt equals 'data and AI platform'], etc.), and / or the expected output of the query (e.g., [id, name], etc.). Therefore, the representation of the predicted 3010 output can include a large amount of information.

[0043] Now for reference Figure 4 It describes, according to at least one aspect of this disclosure, based on... Figure 3 Method 3000 predicted outputs for retraining Figure 2 The logical flowchart of the neural network model 2000 and method 4000. Based on... Figure 4 Non-restrictive aspects, such as reference Figure 2 As described, retraining Figure 2 The method 4000 for the neural network model 2000 may include using backpropagation and stochastic gradient descent, as well as other means of training the neural network model 2000 by adjusting one or more weights applied through one or more layers of the neural network model 2000. Once Figure 3 Method 3000's preprocessing steps 3004 and parameter identification steps 3006 generate one or more query parameters (e.g., tables, conditions, etc.), and preprocessing step 3004 produces the actual results, which can then be implemented. Figure 4 Method 4000 to retrain Figure 2 The neural network model 2000.

[0044] For example, according to some non-restrictive aspects, Figure 4 Method 4000 may include using a stochastic gradient descent optimization algorithm to make Figure 2The neural network model 2000 minimizes the loss of predictions generated based on the training dataset. It should be understood that gradient descent is performed through an optimization algorithm configured to identify the set of input variables for the objective function, which can produce the minimum of the objective function. The gradient descent algorithm calculates the gradient of the objective function with respect to specific values ​​of the input values, the gradient pointing "uphill," meaning that the negative gradient of each input variable follows a "downhill" gradient, thus producing a new value for each variable. This reduces the evaluation of the objective function. The step size is used to scale the gradient and control how much each input variable changes with respect to the gradient. The gradient descent algorithm can be configured to repeat this process until the minimum of the objective function is identified, the maximum number of solutions is evaluated, and / or another stopping condition is met. It should be further understood that stochastic gradient descent can include adjustments to the aforementioned gradient descent method to make... Figure 2 The neural network model 2000 minimizes the loss function of predictions generated by classification and / or regression models based on the training dataset.

[0045] according to Figure 4 The non-restrictive aspects, Figure 4 Method 4000 may further include using a backpropagation algorithm configured to compute the gradient of the loss function with respect to the variables of the model. During training... Figure 2 When working with a neural network model 2000, backpropagation can be used to compute the gradient of each weight applied through each layer of the model. Subsequently, the optimization algorithm can use these gradients to update the model weights. The loss function can be represented as... Figure 2 The error or error function of the neural network model 2000. Therefore, the weights are variables of the function, and thus the gradient of the error function with respect to the weights is called the error gradient. Specifically, the backpropagation algorithm can be configured to start from the output layer 2003 and proceed recursively by applying the chain rule. Figure 2 The neural network model 2000 recursively computes gradients backward, thereby generating the derivatives of subfunctions. In other words, the backpropagation algorithm can be used to compute the gradients used by the stochastic gradient descent optimizer to minimize the error between the predicted value and the target value (the number of rows calculated from the training data). This can be used for training to adjust the weights and provide higher accuracy for the predicted output.

[0046] Based on the backpropagation and stochastic gradient descent techniques described above, it should be understood that... Figure 4 Method 4000 can include training 4002 Figure 2 The neural network model 2000. Once trained, method 4000 can include... Figure 2The neural network model 2000 predicts 4004 output and / or output characteristics (e.g., predicted number of rows, etc.). Based on the prediction, method 4000 may include taking the output characteristics (e.g., target number of rows, etc.) as an objective 4006 via the aforementioned objective function of the gradient descent algorithm. Therefore, the backpropagation and stochastic gradient descent techniques described above can be used to generate and implement an optimized descent gradient, which is configured to make the predicted number of rows correlated with the output characteristics provided by the model. Figure 2 The error between the number of rows of target values ​​generated from the training data of the neural network model 2000 is minimized.

[0047] Through the backpropagation algorithm, Figure 4 Method 4000 may further include adjustments Figure 2 The neural network model 2000 has 4008 weights, thereby improving the accuracy of future predictions generated by the neural network model 2000. In other words, the adjustment of randomly initialized weights can be based on the descent gradient, which is optimized by the gradient descent algorithm to improve the accuracy of the prediction results or the output of the representation (e.g., the number of predicted rows, etc.). When the neural network model 2000 generates subsequent predictions, Figure 1 Dynamic prediction generator 1003 (or managed and executed) Figure 2 The neural network model 2000 (or any other system component 1000) can evaluate whether the calculated error (e.g., MAPE, etc.) exceeds a predetermined threshold. For example, if the calculated error is greater than or equal to 10%, then... Figure 1 Dynamic prediction generator 1003 (or managed and executed) Figure 2 The neural network model 2000 (and any other system component 1000) can be configured to re-perform retraining. Figure 2 The method of neural network model 2000 4000.

[0048] exist Figure 4 After method 4000 is completed, one or more components of the generated output can be stored in the memory 1007 of the dynamic prediction generator 1003 and / or communicatively coupled to Figure 1 Any other storage or database of the system. For example, Figure 1 System 1000 can be configured to store a unique identifier associated with the processed query, the output of the representation associated with the query (e.g., predicted row count, etc.), the actual output associated with the query (e.g., actual row count, etc.), and one or more specific data sources 1010 used by the query. 1-n (e.g., tables, etc.), one or more conditions of the query application and / or one or more displayed outputs generated by the query. It should be understood that such information can be used to calculate future MAPEs and for retraining. Figure 2The neural network model 2000 may be useful for future reference.

[0049] Now for reference Figure 5 The present disclosure describes a computer-implemented method 5000 for processing queries according to at least one aspect of this disclosure. For example, method 5000 can... Figure 1 The system 1000 is executed by the processor 1004 of the user device 1002. However, according to other non-limiting aspects, Figure 5 One or more steps of method 5000 can be performed by Figure 1 Any other component of System 1000 executes. Similarly, although... Figure 5 Method 5000 can be implemented to process SQL queries. This disclosure considers other non-limiting aspects, among which... Figure 5 Method 5000 can be implemented to process queries written in alternative languages ​​such as SchemeQL, LINQ, ScalaQL, ScalaQuery, SqlStatement, ActiveRecord, and / or HaskellDB.

[0050] according to Figure 5 In a non-restrictive aspect, method 5000 may include identifying parameters of query 5002 and generating multiple input vectors 5004 based on the parameters of the SQL query. Figure 5 Method 5000 may further include transmitting multiple input vectors 5006 to the input layer of the neural network, such as... Figure 2 The neural network model 2000 has an input layer 2001. Subsequently, method 5000 may include receiving 5008 multiple input vectors from the neural network after the input layer transforms multiple input vectors into hidden states based on multiple randomly initialized weights. The output layer of the neural network—such as... Figure 2 The output layer 2003 of the neural network model 2000 can be configured to generate predicted row numbers based on the descent gradient of the neural network. Therefore, method 5000 may further include receiving the predicted row numbers from the output layer of the neural network 5010. According to some non-limiting aspects, method 5000 may include modifying one or more parameters of the query 5012 based on the predicted row numbers. For example, the modified parameters may be configured to reduce the computational resources required to generate query results and / or improve the accuracy of the query results.

[0051] It should be further understood that Figure 5 Method 5000 is not limited to the steps described. For example, according to some non-limiting aspects, method 5000 may further include adjusting the random initialization weights based on an optimized descent gradient, wherein adjusting the random initialization weights is configured to improve the accuracy of the predicted number of rows. According to other non-limiting aspects, Figure 2The neural network model 2000 can use aggregated data provided by the user or generated by the neural network model 2000 itself to improve the generated results. For example, the predicted number of rows can be one of multiple predicted row numbers generated by the neural network. Therefore, method 5000 can further include calculating a percentage error based on multiple predicted row numbers. Depending on other non-restrictive aspects, the random initialization weights can be adjusted based on MAPE. In some non-restrictive aspects, the query parameters can be modified based on the predicted row number. Figure 1 The components of system 1000 are autonomously determined and implemented. For example, user device 1002 of system 1000 can be configured, through an application stored in memory 1006, to autonomously modify queries based on results generated by dynamic prediction generator 1003, thereby providing technological improvements without human intervention to reduce the amount of computational resources required to process the query. According to some other non-limiting aspects, the parameters of the identified query may include at least one of the following: tables used in the query, conditions applied in the query, or the output of the query. According to some other non-limiting aspects, method 5000 may further include receiving optimized descent gradients generated by the backpropagation algorithm of a neural network. For example, the optimized descent gradients may be configured to minimize the error between the predicted number of rows and the target number of rows. Additionally, the target number of rows may be based on training data provided to the neural network.

[0052] Now for reference Figure 6 The present disclosure describes another computer-implemented method 6000 for processing queries according to at least one aspect of the present disclosure. For example, method 5000 can be executed by processor 1005 in response to queries stored in... Figure 1 The neural network model is stored in the memory 1007 of the dynamic prediction generator 1003 of the system 1000. However, according to other non-limiting aspects, Figure 6 One or more steps of method 6000 can be performed by Figure 1 Any other component of System 1000 executes. Similarly, although... Figure 6 Method 6000 can be implemented to process SQL queries. This disclosure considers other non-limiting aspects, among which... Figure 6 Method 6000 can be implemented to process queries written in alternative languages ​​such as SchemeQL, LINQ, ScalaQL, ScalaQuery, SqlStatement, ActiveRecord, and / or HaskellDB.

[0053] according to Figure 6 In a non-limiting aspect, method 6000 may include receiving 6002 multiple input vectors based on query parameters. Specifically, the input layer of the neural network (such as...) Figure 2The input layer 2001 of the neural network model 2000 can be configured to receive multiple input vectors. Therefore, method 6000 may further include transforming the multiple input vectors into hidden states 6004 based on multiple randomly initialized weights. According to some non-limiting aspects, the transformation can be performed by the input layer of the neural network and / or one or more intermediate layers. Method 6000 may further include generating 6006 rows of predictions associated with the input vectors. According to some non-limiting aspects, the predictions can be generated by the output layer of the neural network (e.g., ...). Figure 2 The output layer 2003 of the neural network model 2000 is generated. As previously described, the predicted number of rows can be generated based on the descent gradient of the neural network. Additionally, the parameters of the query can be modified based on the predicted number of rows, which can reduce the computational resources required to generate the query results and / or improve the accuracy of the query results. Depending on other non-limiting aspects, method 6000 may include optimizing the descent gradient to... Figure 2 The neural network model 2000 generates a prediction loss that is minimized. For example, based on some non-restrictive aspects, the optimization can be based on a stochastic gradient descent optimization algorithm. Therefore, method 6000 can further include adjusting a plurality of randomly initialized weights based on the optimized descent gradient, wherein the plurality of randomly initialized weights can improve the accuracy of the predicted number of rows.

[0054] Now for reference Figure 7 The figure is a block diagram of a computer device 7000 having a data processing subsystem or component according to at least one aspect of the present disclosure. The subsystems shown in Figure A are interconnected via a system bus 7010. Additional subsystems are shown, such as a printer 7018, a keyboard 7026, a fixed disk 7028 (or other memory containing computer-readable media), a monitor 7022 coupled to a display adapter 7020, etc. Peripheral devices and input / output (I / O) devices coupled to an I / O controller 7012 (which may be a processor or other suitable controller) can be connected to the computer system via any number of means known in the art, such as a serial port 7024. For example, a serial port 7024 or an external interface 7030 can be used to connect the computer device to a wide area network (such as the Internet), a mouse input device, or a scanner. The interconnection via the system bus allows the central processing unit 7016 to communicate with each subsystem and allows control over the execution of instructions from the system memory 7014 or the fixed disk 7028, as well as the exchange of information between the subsystems. System memory 7014 and / or fixed disk 7028 may be embodied as computer-readable media.

[0055] Now for reference Figure 8The figure is a schematic representation of an example system 8000 according to at least one aspect of this disclosure, the example system including a host 8002, within which a set of instructions can be executed to perform one or more of the methods discussed herein. In various aspects, the host 8002 operates as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, the host 8002 can operate as a server or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The host 8002 can be a computer or computing device, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a portable music player (e.g., a portable hard disk audio device, such as a Moving Picture Experts Group Audio Layer 3 (MP3) player), a network appliance, a network router, a switch, or a bridge, or any machine capable of executing a set of instructions (sequentially or otherwise) specifying the actions to be taken by the machine. Furthermore, although only a single machine is described, the term "machine" should also be understood to include any set of machines that individually or collectively execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.

[0056] Example system 8000 includes a host 8002, on which a host operating system (OS) 8004 runs on one or more processors / processor cores 8006 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both) and various memory nodes 8008. The host OS 8004 may include a hypervisor 8010 capable of controlling functionality and / or communicating with virtual machines (“VMs”) 8012 running on machine-readable media. VM 8012 may also include a virtual CPU or vCPU 8014. Memory nodes 8008 may be linked or pinned to virtual memory nodes or vNodes 8016. When a memory node 8008 is linked or pinned to a corresponding vNode 8016, data can then be directly mapped from the memory node 8008 to the corresponding vNode 8016.

[0057] All the various components shown in host 8002 can be connected to and linked to each other, or communicate with each other via a bus (not shown) or through other coupling or communication channels or mechanisms. Host 8002 may further include a video display, audio devices or other peripheral devices 8018 (e.g., liquid crystal display (LCD), alphanumeric input devices (including, for example, a keyboard), cursor control devices (e.g., a mouse), voice recognition or biometric authentication units, external drives, signal generation devices (e.g., speakers)), persistent storage devices 8020 (also referred to as disk drive units), and network interface devices 8022. Host 8002 may further include a data encryption module (not shown) for encrypting data. The components disposed in host 8002 are components commonly found in computer systems that can be adapted for use with aspects of this disclosure, and are intended to represent a broad category of such computer components known in the art. Thus, system 8000 may be a server, a minicomputer, a host computer, or any other computer system. Computers may also include different bus configurations, networking platforms, multiprocessor platforms, etc. It can use various operating systems, including UNIX, LINUX, WINDOWS, QNX ANDROID, IOS, CHROME, TIZEN and other suitable operating systems.

[0058] The disk drive unit 8024 may also be a solid-state drive (SSD), hard disk drive (HDD), or other drive comprising a computer or machine-readable medium on which one or more instruction sets and data structures (e.g., data / instructions 8026) embodying or utilizing any one or more methods or functions described herein are stored. The data / instructions 8026 may also reside wholly or at least partially within the main memory node 8008 and / or the processor 8006 during execution by the host 8002. The data / instructions 8026 may be further transmitted or received via a network 8028 through a network interface device 8022 utilizing any of several well-known transport protocols (e.g., Hypertext Transfer Protocol, HTTP).

[0059] Processor 8006 and memory node 8008 may also include machine-readable media. The term "computer-readable media" or "machine-readable media" should be considered as including a single or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) storing one or more instruction sets. The term "computer-readable media" should also be considered as including any medium capable of storing, encoding, or carrying instruction sets for execution by host 8002 and causing host 8002 to perform any or more methods of this application, or any medium capable of storing, encoding, or carrying data structures utilized by or associated with such instruction sets. Therefore, the term "computer-readable media" should be considered as including, but not limited to, solid-state memory, optical and magnetic media, and carrier signals. Such media may also include, but are not limited to, hard disks, floppy disks, flash memory cards, digital video optical discs, random access memory (RAM), read-only memory (ROM), etc. The exemplary aspects described herein can be implemented in an operating environment that includes software installed on a computer, installed in hardware, or a combination of software and hardware.

[0060] Those skilled in the art will recognize that an Internet service can be configured to provide Internet access to one or more computing devices coupled to the Internet service, and that computing devices may include one or more processors, buses, memory devices, display devices, input / output devices, etc. Furthermore, those skilled in the art will understand that an Internet service can be coupled to one or more databases, repositories, servers, etc., which can be used to implement any aspect of the various aspects of this disclosure as described herein.

[0061] Computer program instructions may also be loaded onto a computer, server, other programmable data processing apparatus or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide for implementing the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0062] For example, a suitable network may include or interface with any one or more of the following: local intranet; PAN (Personal Area Network); LAN (Local Area Network); WAN (Wide Area Network); MAN (Metropolitan Area Network); Virtual Private Network (VPN); Storage Area Network (SAN); Frame Relay connection; Advanced Intelligent Network (AIN) connection; Synchronous Fiber Network (SONET) connection; digital T1, T3, E1, or E3 line; Digital Data Service (DDS) connection; DSL (Digital Subscriber Line) connection; Ethernet connection; ISDN (Integrated Services Digital Network) line; dial-up port (such as V.90, V.34, or V.34bis analog modem connection); cable modem; ATM (Asynchronous Transfer Mode) connection; or FDDI (Fiber Distributed Data Interface) or CDDI (Copper Distributed Data Interface) connection. Furthermore, communications may include links to any wireless network of various wireless networks, including WAP (Wireless Application Protocol), GPRS (General Packet Radio Service), GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access) or TDMA (Time Division Multiple Access), cellular telephone networks, GPS (Global Positioning System), CDPD (Cellular Digital Packet Data), RIM (Research in Motion, Limited) full-duplex paging network, Bluetooth radio, or IEEE 802.11-based radio frequency networks. The network may further include or interface with any one or more of the following: RS-232 serial connection, IEEE-1394 (FireWire) connection, Fibre Channel connection, IrDA (Infrared) port, SCSI (Small Computer System Interface) connection, USB (Universal Serial Bus) connection, or other wired or wireless, digital or analog interfaces or connections, mesh or Digi® networking.

[0063] Typically, a cloud-based computing environment is a resource that combines large groups of processors (such as within a web server) with computing power and / or large groups of computer memory or storage devices with storage capacity. Systems providing cloud-based resources may be available only to their owners, or such systems may be accessible to external users who deploy applications within the computing infrastructure to benefit from large computing or storage resources.

[0064] For example, a cloud is formed by a network of network servers containing multiple computing devices (such as host 8002), where each server 8030 (or at least one of them) provides processor and / or storage resources. These servers manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user's workload requirements for the cloud change in real time, sometimes dramatically. The nature and extent of these changes usually depend on the type of business associated with the user.

[0065] It is worth noting that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. As used herein, the terms "computer-readable storage medium" and "computer-readable storage media" refer to any one or more media that participate in providing instructions to the CPU for execution. Such media can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks, such as fixed disks. Volatile media include dynamic memory, such as system RAM. Transmission media include coaxial cables, copper wires, and optical fibers, which include conductors comprising one side of a bus. Transmission media can also take the form of sound waves or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, floppy disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, digital video discs (DVDs), any other optical media, any other physical media with markings or perforations, RAM, PROMs, EPROMs, EEPROMs, FLASH EPROMs, any other memory chips or data exchange adapters, carrier waves, or any other media from which a computer can read.

[0066] Various forms of computer-readable media can be used to load one or more sequences of one or more instructions to the CPU for execution. A bus carries data to system RAM, from which the CPU retrieves and executes instructions. Instructions received from system RAM may optionally be stored on a fixed disk before or after execution by the CPU.

[0067] Computer program code used to perform operations on aspects of the present invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Java, Smalltalk, C++, etc.) and conventional procedural programming languages ​​(such as the "C" programming language, Go, Python, or other programming languages ​​including assembly language). The program code can execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can connect to an external computer (e.g., via the Internet using an Internet service provider).

[0068] Examples of methods according to various aspects of this disclosure are provided in the following numbered clauses. An aspect of the method may include any one or more of the following numbered clauses and any combination thereof.

[0069] Clause 1. A computer-implemented method for processing Structured Query Language (SQL) queries, the method comprising: identifying parameters of the SQL query by a processor; generating a plurality of input vectors by the processor based on the parameters of the SQL query; transmitting the plurality of input vectors to an input layer of a neural network by the processor; receiving, by the processor, a predicted number of rows associated with the input vectors generated by an output layer of the neural network, wherein the predicted number of rows is generated based on a descent gradient of the neural network; and modifying the parameters of the SQL query by the processor based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce computational resources required to generate SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

[0070] Clause 2. The SQL query implemented by the computer as described in Clause 1, wherein the parameters of the SQL query recognized by the processor include at least one of the following: a table used in the SQL query, a condition applied in the SQL query, or the output of the SQL query, or a combination thereof.

[0071] Clause 3. A computer-implemented method according to any one of Clauses 1 or 2, further comprising receiving by the processor an optimized descent gradient generated by a backpropagation algorithm of the neural network, wherein the optimized descent gradient is configured to minimize the error between the predicted number of rows and the target number of rows, and wherein the target number of rows is based on training data provided to the neural network.

[0072] Clause 4. A computer-implemented method according to any one of Clauses 1 to 3, further comprising adjusting the randomly initialized weights of the neural network by the processor based on the optimized descent gradient, wherein adjusting the randomly initialized weights is configured to improve the accuracy of the predicted number of rows.

[0073] Clause 5. A computer-implemented method according to any one of Clauses 1 to 4, wherein the predicted number of rows is a predicted number of rows from one of a plurality of predicted number of rows generated by the neural network, and wherein the method further comprises calculating a mean absolute percentage error (MAPE) by the processor based on the plurality of predicted number of rows, and wherein the adjustment of the randomly initialized weights is based on the MAPE.

[0074] Clause 6. A computer-implemented method according to any one of Clauses 1 to 5, wherein the modification of the parameters of the SQL query based on the predicted number of rows is determined autonomously and implemented by the processor.

[0075] Clause 7. A computer-implemented method according to any one of Clauses 1 to 6, wherein the neural network comprises a multilayer perceptron (MLP) model.

[0076] Clause 8. A system configured to process Structured Query Language (SQL) queries, the system comprising: a dynamic prediction generator including a processor and a memory configured to store a neural network model; and a user device including the processor and the memory, wherein the memory is configured to store instructions that, when executed by the processor, cause the user device to: identify parameters of the SQL query; generate a plurality of input vectors based on the parameters of the SQL query; transmit the plurality of input vectors to an input layer of the neural network; receive from an output layer of the neural network a predicted number of rows associated with the plurality of input vectors, wherein the predicted number of rows is generated based on a descent gradient of the neural network and hidden states generated by intermediate layers of the neural network; and modify the parameters of the SQL query based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce the computational resources required to generate SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

[0077] Clause 9. A computer-implemented method according to Clause 8, wherein the parameters of the SQL query recognized by the processor include at least one of the following: a table used in the SQL query, a condition applied in the SQL query, or the output of the SQL query, or a combination thereof.

[0078] Clause 10. A computer-implemented method according to any one of Clauses 8 or 9, wherein the instructions, when executed by the processor, further cause the user device to receive an optimized descent gradient generated by the backpropagation algorithm of the neural network, wherein the optimized descent gradient is configured to minimize the error between the predicted number of rows and the target number of rows, and wherein the target number of rows is based on training data provided to the neural network.

[0079] Clause 11. A computer-implemented method according to any one of Clauses 8 to 10, wherein the instructions, when executed by the processor, further cause the user device to adjust the random initialization weights of the neural network based on the optimized descent gradient, wherein adjusting the random initialization weights is configured to improve the accuracy of the predicted number of rows.

[0080] Clause 12. A computer-implemented method according to any one of Clauses 8 to 11, wherein the predicted number of rows is a predicted number of rows from one of a plurality of predicted number of rows generated by the neural network, and wherein the instructions, when executed by the processor, further cause the user device to calculate the mean absolute percentage error (MAPE) based on the plurality of predicted number of rows, and wherein the adjustment of the randomly initialized weights is based on the MAPE.

[0081] Clause 13. A computer-implemented method according to any one of Clauses 8 to 12, wherein the modification of the parameters of the SQL query based on the predicted number of rows is autonomously determined and implemented by the processor.

[0082] Clause 14. A computer-implemented method according to any one of Clauses 8 to 13, wherein the neural network comprises a multilayer perceptron (MLP) model.

[0083] Clause 15. A computer-implemented method for processing a Structured Query Language (SQL) query, the method comprising: receiving, by an input layer of a neural network, a plurality of input vectors based on parameters of the SQL query; converting the plurality of input vectors into hidden states by an intermediate layer of the neural network based on a plurality of randomly initialized weights, wherein the plurality of randomly initialized weights are determined based on a descent gradient of the neural network; generating, by an output layer of the neural network, a predicted number of rows based on the hidden states; generating, based on the predicted number of rows, a suggestion to modify the SQL query; and transmitting the suggestion to a processor, wherein implementation of the suggestion improves the SQL query result.

[0084] Clause 16. The computer-implemented method according to Clause 15, further comprising generating an optimized descent gradient by a backpropagation algorithm of the neural network, the optimized descent gradient being configured to minimize the error between the predicted number of rows and the target number of rows, wherein the target number of rows is based on training data provided to the neural network.

[0085] Clause 17. A computer-implemented method according to any one of Clauses 15 or 16, further comprising adjusting the plurality of random initialization weights by a processor based on the optimized descent gradient, wherein adjusting the plurality of random initialization weights is configured to improve the accuracy of the predicted number of rows.

[0086] Clause 18. A computer-implemented method according to any one of Clauses 15 to 17, wherein the predicted number of rows is a predicted number of rows from one of a plurality of predicted number of rows generated by the neural network, and wherein the method further comprises calculating a mean absolute percentage error (MAPE) by the processor based on the plurality of predicted number of rows, and wherein the plurality of randomly initialized weights are adjusted based on the MAPE.

[0087] Clause 19. A computer-implemented method according to any one of Clauses 15 to 18, further comprising generating modified parameters of the SQL query by a processor based on the proposal, wherein the modified parameters are configured to reduce the computational resources required to generate the SQL query results.

[0088] Clause 20. A computer-implemented method according to any one of Clauses 15 to 18, further comprising the modified parameters of the SQL query autonomously implemented by the processor, and the SQL query having the modified parameters executed by the processor.

[0089] The foregoing detailed description has illustrated various forms of systems and / or processes using block diagrams, flowcharts, and / or examples. Where such block diagrams, flowcharts, and / or examples contain one or more functions and / or operations, those skilled in the art will understand that each function and / or operation within such block diagrams, flowcharts, and / or examples can be implemented individually and / or collectively by various hardware, software, firmware, or virtually any combination thereof. Those skilled in the art will recognize that some aspects of the forms disclosed herein can be implemented, in whole or in part, equivalently in an integrated circuit as one or more computer programs (e.g., one or more programs running on one or more computer systems), one or more programs running on one or more processors (e.g., one or more programs running on one or more microprocessors), firmware, or virtually any combination thereof, and that designing circuit systems and / or writing code for software and / or firmware according to this disclosure will be entirely within the skill of those skilled in the art. Furthermore, those skilled in the art will understand that the mechanisms of the subject matter described herein are capable of being distributed in various forms as one or more program products, and that the illustrative forms of the subject matter described herein apply regardless of the specific type of signal-bearing medium used to actually perform said distribution.

[0090] Instructions for programming logic to execute various disclosed aspects can be stored in the system's memory, such as dynamic random access memory (DRAM), cache, flash memory, or other storage devices. Furthermore, the instructions can be distributed via a network or by means of other computer-readable media. Therefore, machine-readable media can include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, but is not limited to floppy disks, optical disks, read-only optical disk drives (CD-ROMs) and magneto-optical disks, read-only memory (ROMs), random access memory (RAMs), erasable programmable read-only memory (EPROMs), electrically erasable programmable read-only memory (EEPROMs), magnetic cards or optical cards, flash memory, or tangible machine-readable storage devices for transmitting information over the Internet via electrical, optical, acoustic, or other forms of propagation signals (e.g., carrier waves, infrared signals, digital signals, etc.). Therefore, non-transitory computer-readable media includes any type of tangible machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.

[0091] Any software component or function described in this application can be implemented as software code executed by a processor using any suitable computer language (e.g., Python, Java, C++, or Perl) and employing techniques such as conventional or object-oriented methods. The software code can be stored as a series of instructions or commands on a computer-readable medium (such as RAM, ROM), a magnetic medium (such as a hard disk drive or floppy disk), or an optical medium (such as a CD-ROM). Any such computer-readable medium can reside on or within a single computing device, and can exist on different computing devices within a system or network, or on different computing devices.

[0092] As used in any aspect of this document, the term "logic" can refer to an application, software, firmware, and / or circuit system configured to perform any of the foregoing operations. Software can be embodied as a software package, code, instructions, instruction sets, and / or data recorded on a non-transitory computer-readable storage medium. Firmware can be embodied as hard-coded (e.g., non-volatile) code, instructions, or instruction sets and / or data in a memory device.

[0093] As used in any aspect of this document, the terms “component,” “system,” “module,” etc., may refer to a computer-related entity, or hardware, a combination of hardware and software, software, or software in execution.

[0094] As used in any aspect of this document, "algorithm" refers to a self-consistent sequence of steps that produces a desired result, where "step" refers to the manipulation of physical quantities and / or logical states, which may (but do not necessarily need to) take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated. Common usage refers to these signals as bits, values, elements, symbols, characters, terms, numbers, etc. These terms and similar terms may be associated with appropriate physical quantities and are merely convenient labels applied to these quantities and / or states.

[0095] The network may include a packet-switched network. Communication devices may be able to communicate with each other using a selected packet-switched network communication protocol. An example communication protocol may include an Ethernet communication protocol that may allow communication using Transmission Control Protocol / Internet Protocol (TCP / IP). The Ethernet protocol may conform to or be compatible with the Ethernet standard entitled "IEEE 802.3 Standard" and / or subsequent versions of this standard, published by the Institute of Electrical and Electronics Engineers (IEEE) in December 2008. Alternatively or additionally, communication devices may be able to communicate with each other using the X.25 communication protocol. The X.25 communication protocol may conform to or be compatible with standards issued by the International Telecommunication Union-Telecommunication Standardization Sector (ITU-T). Alternatively or additionally, communication devices may be able to communicate with each other using the Frame Relay communication protocol. Frame Relay communication protocols may conform to or be compatible with standards issued by the Consultative Committee for International Telegraph and Telephone (CCITT) and / or the American National Standards Institute (ANSI). Alternatively or additionally, transceivers may be able to communicate with each other using Asynchronous Transfer Mode (ATM) communication protocols. ATM communication protocols may conform to or be compatible with the ATM standard entitled "ATM-MPLS Network Interworking 2.0" published by the ATM Forum in August 2001 and / or subsequent versions of this standard. Of course, this document also considers different and / or later-developed connection-oriented network communication protocols.

[0096] Unless otherwise specifically stated, as is apparent from the foregoing disclosure, it should be understood that throughout this disclosure, discussions using terms such as “processing,” “operation,” “calculation,” “determine,” and “display” refer to the actions and processes of a computer system or similar electronic computing device that manipulates and converts data represented as physical (electronic) quantities in the registers and memories of the computer system into other data represented in a similar manner as physical quantities in the computer system’s memory or registers or other such information storage, transmission, or display devices.

[0097] One or more components may be referred to herein as “configured to,” “configurable to,” “operable to,” “suitable for,” “capable of,” “compliant with,” etc. Unless the context otherwise requires, those skilled in the art will recognize that “configured to” can generally encompass active state components and / or inactive state components and / or standby state components.

[0098] Those skilled in the art will recognize that, generally, the terminology used herein, and especially in the appended claims (e.g., the body of the appended claims), is intended to be “open-ended” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “including but not limited to,” etc.). Those skilled in the art will further understand that if the intent is a particular number of introduced claim statements, such intent will be expressly stated in the claims, and without such statements, such intent does not exist. For example, to aid understanding, the following appended claims may contain the introductory phrases “at least one” and “one or more” to introduce claim statements. However, the use of such phrases should not be construed as implying that introducing a claim statement with the indefinite article "a" or "an" limits any particular claim containing such an introduced claim statement to a claim containing only one such statement, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., "a" and / or "an" should generally be interpreted as meaning "at least one" or "one or more"); the same applies to the use of definite articles used to introduce a claim statement.

[0099] Furthermore, even when a specific number is explicitly stated in the introduced claims, those skilled in the art will recognize that such a statement should generally be interpreted as meaning at least the stated number (e.g., the simple statement "two statements" without other modifiers generally means at least two statements, or two or more statements). Moreover, where conventions such as "at least one of A, B, and C" are used, such structures are generally intended to convey the meaning of such conventions to those skilled in the art (e.g., "a system having at least one of A, B, and C" includes, but is not limited to, systems having only A, only B, only C, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Where conventions such as "at least one of A, B, or C" are used, such structures are generally intended to convey the meaning of such conventions to those skilled in the art (e.g., "a system having at least one of A, B, or C" includes, but is not limited to, systems having only A, only B, only C, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Those skilled in the art will further understand that, generally, unless the context otherwise indicates, separate words and / or phrases presenting two or more alternative terms, whether in the specification, claims, or drawings, should be understood to include the possibility of including one term, either term, or both terms. For example, the phrase "A or B" will generally be understood to include the possibility of including "A" or "B" or "A and B".

[0100] Regarding the appended claims, those skilled in the art will understand that the operations described herein can generally be performed in any order. Furthermore, although various operation flowcharts are presented in sequence, it should be understood that the operations can be performed in other orders than those shown, or that the operations can be performed simultaneously. Unless the context otherwise requires, examples of such alternative orderings may include overlapping, interleaving, interruption, reordering, ascending, preparatory, supplementary, simultaneous, inverted, or other variations of ordering. Moreover, unless the context otherwise requires, terms such as "in response to," "related to," or other past tense adjectives are generally not intended to exclude such variations.

[0101] It is important to note that any reference to "one aspect," "an aspect," "an example," "an example," etc., means that a particular feature, structure, or characteristic described in connection with said aspect is included in at least one aspect. Therefore, the phrases "in one aspect," "in anaspect," "in an example," and "in an example" appearing throughout the specification do not necessarily all refer to the same aspect. Furthermore, in one or more aspects, a particular feature, structure, or characteristic may be combined in any suitable manner.

[0102] As used herein, the singular forms “a,” “an,” and “the” include plural indicators unless the context clearly indicates otherwise.

[0103] Any patent applications, patents, non-patent publications, or other disclosures cited in this specification and / or listed in any application data sheets are incorporated herein by reference, provided that the incorporated material does not contradict this specification. Thus, and to the extent necessary, disclosures expressly set forth herein supersede any conflicting material incorporated herein by reference. It is claimed that any material or portion thereof incorporated herein by reference that conflicts with existing definitions, statements, or other disclosures set forth herein will be incorporated only to the extent that the incorporated material does not conflict with existing disclosures. They are not recognized as prior art.

[0104] In summary, the numerous benefits arising from the adoption of the concepts described herein have been described. One or more of the foregoing descriptions have been presented for illustrative and descriptive purposes. They are not intended to be exhaustive or limited to the exact forms disclosed. Modifications or variations may be made in light of the foregoing teachings. The aforementioned forms have been chosen and described to illustrate principles and practical applications, thereby enabling those skilled in the art to utilize the various forms and make various modifications suitable for the particular purpose contemplated. The overall scope is intended to be defined by the claims filed herein.

Claims

1. A computer-implemented method for processing Structured Query Language (SQL) queries, the method comprising: The parameters of the SQL query are identified by the processor; The processor generates multiple input vectors based on the parameters of the SQL query; The processor transmits the plurality of input vectors to the input layer of the neural network; The processor receives the predicted number of rows associated with the input vector, generated by the output layer of the neural network, wherein the predicted number of rows is generated based on the descent gradient of the neural network; as well as The processor modifies the parameters of the SQL query based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce the computational resources required to generate the SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

2. The computer-implemented method of claim 1, wherein the parameters of the SQL query recognized by the processor include at least one of the following: a table used in the SQL query, a condition applied in the SQL query, or the output of the SQL query, or a combination thereof.

3. The computer-implemented method according to claim 1, further comprising: The processor receives an optimized descent gradient generated by the backpropagation algorithm of the neural network, wherein the optimized descent gradient is configured to minimize the error between the predicted number of rows and the target number of rows, and wherein the target number of rows is based on training data provided to the neural network.

4. The computer-implemented method according to claim 3, further comprising: The processor adjusts the randomly initialized weights of the neural network based on the optimized descent gradient, wherein the adjustment of the randomly initialized weights is configured to improve the accuracy of the predicted number of rows.

5. The computer-implemented method of claim 4, wherein the predicted number of rows is one of a plurality of predicted number of rows generated by the neural network, and wherein the method further comprises calculating the mean absolute percentage error (MAPE) by the processor based on the plurality of predicted number of rows, and wherein the adjustment of the randomly initialized weights is based on the MAPE.

6. The computer-implemented method of claim 1, wherein the modification of the parameters of the SQL query based on the predicted number of rows is determined autonomously and implemented by the processor.

7. The computer-implemented method of claim 1, wherein the neural network comprises a multilayer perceptron (MLP) model.

8. A system configured to process Structured Query Language (SQL) queries, the system comprising: A dynamic prediction generator, comprising a processor and a memory configured to store neural network models; and A user device, the user device including a processor and a memory, wherein the memory is configured to store instructions that, when executed by the processor, cause the user device to: Identify the parameters of the SQL query; Multiple input vectors are generated based on the parameters of the SQL query; The plurality of input vectors are transmitted to the input layer of the neural network; The output layer of the neural network receives the predicted number of rows associated with the plurality of input vectors, wherein the predicted number of rows is generated based on the descent gradient of the neural network and the hidden states generated by the intermediate layers of the neural network; as well as The parameters of the SQL query are modified based on the predicted number of rows to generate modified parameters, wherein the modified parameters are configured to reduce the computational resources required to generate the SQL query results, and wherein the modified parameters are configured to improve the accuracy of the SQL query results.

9. The system of claim 8, wherein the parameters of the SQL query recognized by the processor include at least one of the following: a table used in the SQL query, a condition applied in the SQL query, or the output of the SQL query, or a combination thereof.

10. The system of claim 8, wherein the instructions, when executed by the processor, further cause the user device to: Receive an optimized descent gradient generated by the backpropagation algorithm of the neural network, wherein the optimized descent gradient is configured to minimize the error between the predicted number of rows and the target number of rows, and wherein the target number of rows is based on the training data provided to the neural network.

11. The system of claim 10, wherein the instructions, when executed by the processor, further cause the user device to: The randomly initialized weights of the neural network are adjusted based on the optimized descent gradient, wherein the adjustment of the randomly initialized weights is configured to improve the accuracy of the predicted number of rows.

12. The system of claim 11, wherein the predicted row number is one of a plurality of predicted row numbers generated by the neural network, and wherein the instructions, when executed by the processor, further cause the user device to: The mean absolute percentage error (MAPE) is calculated based on the number of rows predicted, and the adjustment of the randomly initialized weights is based on the MAPE.

13. The system of claim 8, wherein the modification of the parameters of the SQL query based on the predicted number of rows is autonomously determined and implemented by the processor.

14. The system of claim 8, wherein the neural network comprises a multilayer perceptron (MLP) model.

15. A computer-implemented method for processing Structured Query Language (SQL) queries, the method comprising: The input layer of the neural network receives multiple input vectors based on the parameters of the SQL query; The intermediate layers of the neural network convert the multiple input vectors into hidden states based on multiple randomly initialized weights, wherein the multiple randomly initialized weights are determined based on the descent gradient of the neural network; as well as The output layer of the neural network generates the predicted number of rows based on the hidden state; Based on the predicted number of rows, suggestions for modifying the SQL query are generated; as well as The suggestion is transmitted to the processor, wherein the implementation of the suggestion improves the SQL query results.

16. The computer-implemented method of claim 15, further comprising: An optimized descent gradient is generated by the backpropagation algorithm of the neural network, the optimized descent gradient being configured to minimize the error between the predicted number of rows and the target number of rows, wherein the target number of rows is based on the training data provided to the neural network.

17. The computer-implemented method of claim 16, further comprising: The processor adjusts the plurality of randomly initialized weights based on the optimized descent gradient, wherein the adjustment of the plurality of randomly initialized weights is configured to improve the accuracy of the predicted number of rows.

18. The computer-implemented method of claim 17, wherein the predicted number of rows is one of a plurality of predicted number of rows generated by the neural network, and wherein the method further comprises calculating a mean absolute percentage error (MAPE) by the processor based on the plurality of predicted number of rows, and wherein the plurality of randomly initialized weights are adjusted based on the MAPE.

19. The computer-implemented method of claim 15, further comprising: The processor generates modified parameters for the SQL query based on the suggestion, wherein the modified parameters are configured to reduce the computational resources required to generate the SQL query results.

20. The computer-implemented method of claim 19, further comprising: The modified parameters of the SQL query executed autonomously by the processor; and The processor executes the SQL query with the modified parameters.