SQL编程大师程宁:突破性能瓶颈!Oracle性能2.198秒背后设计思路
头条资讯 2025-01-26890未知admin

第二届数据库编程大赛
2024第二届数据库编程大赛于12月5日正式开启初赛!由NineData和云数据库技术社区主办,华为云、Doris等协办单位和媒体共同举办。比赛要求选手设计一套SQL算法,只用一条SQL秒杀100万张火车票,让乘客都都能顺利坐上火车回家过年。查看赛题详情
以下是本次决赛第6名,大赛三等奖获得者程宁的参赛介绍:

个人简介:嘉兴市第二医院信息科,从事信息化工作多年
参赛数据库:ORACLE
性能评测:百万级数据代码性能评测2.198秒
综合得分:78.25
以下是程宁选手的代码说明思路简介:
以下是程宁选手的代码说明思路简介:
1.每个乘客按行程规划分组生成需求序列号;
2.所有火车按行程规划生成每个座位的供应序列号,先分配有座、再分配无座
3.行程相同两个序列号相同,生成车票分配方案
优化措施:
增加一个行程方案,降低座位序列号计算量;用行程方案ID关联,降低最后JOIN关联字段消耗;
对火车进行预测,尽量少生成火车坐席;
添加了一个测试参数,可以将原始数据扩大N倍,用于性能测试;
加Hint,官方测试环境4C8G,网上查了一下,据说ORACLE默认安装的时候每核2个线程,故参数设置为8,榨干服务器。
算法说明以下是程宁选手的详细算法说明,结尾附完整SQL:
























