V2.4.0-release
The main changes to the V2.4.0-release version are as follows:
-
Distributed computing performance improvement:
- hasAggs/having/sort/limit/Stable function/ optimization is pushed down to DN, and the performance is improved nearly a hundredfold.
- ProcLock segmented lock optimization for distributed processes to reduce lock conflicts and improve execution efficiency by about 5 times.
- execute plan optimization: if the number of redistributed nodes is 1, skip the remote operator and simplify the execution plan.
-
2PC transaction optimization:
- performance optimization of deadlock checking: batch acquisition of gxid; traversal lookup gxid is modified to binary lookup, and the number of try rounds is increased.
- 2PC adds protection mode to prevent partial submission.
- drop database adds a prepare process to ensure that there is no residual node failure.
-
Enhanced ease of use:
- added pooler multithreaded log feature to facilitate problem analysis.
- GTM logs are optimized. Logs are aggregated into one file, and active logs are automatically split to facilitate users to view them at any time.
- support gtm_ctl-l to specify the log file path to start, making it easy for users to manage logs.
-
The new features support:
- self-developed partition table pruning, adding IN syntax pruning to speed up pruning in advance.
- data shuffle supports user-defined functions.
- allows you to delete columns of a primary table with distributed foreign key constraints.