Native Index Compilation via Data-Type DLLs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems require numerous CPU instructions to execute queries due to generic code for index operations, leading to performance slowdowns and increased CPU time and cost.
Innovation Solution
Native compilation of index operations by generating a dynamic link library (DLL) specific to each indexed column data-type during index definition, reducing the need for generic code and optimizing index usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If generic code is used for index operations, then adaptability is improved, but CPU instructions increase and performance decreases
Solution Approach 1:
The patent segments the generic index operation code into specific, specialized functions for different data types. Instead of using one large generic code base, it creates separate compiled code modules (DLLs) for different indexed column data types (e.g., integer index, varchar index), allowing each segment to be optimized independently for its specific operations.
Solution Approach 2:
The patent applies local quality by generating specialized code specific to each indexed column's data type and structure. Each index operation gets tailored code that matches its specific requirements (e.g., different comparison operations for different data types), rather than using uniform generic code, thereby optimizing performance for each local case while maintaining overall adaptability.
2Productivity
If native compilation is implemented, then CPU instructions are reduced and performance is improved, but device complexity increases
Solution Approach 1:
The patent implements preliminary action by compiling index operations into native code during index creation time rather than at query execution time. The system generates and stores compiled code modules (DLLs) for each index definition beforehand, so that when queries are executed, the pre-compiled code can be directly loaded and executed without on-the-fly compilation, reducing runtime complexity while maintaining performance benefits.
Solution Approach 2:
The patent introduces an intermediary layer in the form of compiled code modules (DLLs) that mediate between the database engine and the index operations. These intermediary modules encapsulate the complexity of native compilation, allowing the main database system to remain relatively simple while benefiting from optimized, pre-compiled index operations through these intermediate components.
3Use of energy by moving object
If specialized code is generated for each indexed column, then CPU efficiency is improved, but manufacturing complexity increases
Solution Approach 1:
The patent achieves universality by creating a systematic framework that can generate specialized code for multiple different data types and index structures using the same underlying compilation process. The code generator handles various indexed column types (integers, strings, dates, etc.) through a unified approach, making the manufacturing process scalable and manageable despite the specialization of individual code modules.
Data Source
AI summary
Embodiments relate to a system, method, and device for index compilation to optimize index. Once a CREATE INDEX commands is fired, a first check determines if the user requested has to compile this index. If the index is to be compiled, a corresponding C-file is generated, and a DLL is generated out of the C-file. The DLL is then loaded with server. An INDEX DLL is natively compiled and generated corresponding to each INDEX during definition. The INDEX DLL will contain the required structure and method to perform on INDEX, based on the indexed column data-type.


