楼主: ~贝贝~

[精华] “盛拓传媒杯”SQL数据库编程大赛第三期评分及所有参赛选手答题公布!

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
81#
发表于 2011-4-11 09:37 | 只看该作者
原帖由 rollingpig 于 2011-4-11 09:29 发表

        SQL3-7        SQL3-32        SQL3-13,level=3
#1        0.4         

继续尝试64城
http://www.itpub.net/viewthread. ... ;extra=#pid17529646

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
82#
发表于 2011-4-11 09:41 | 只看该作者
10G connect by解法在性能上基本无法和这几种相比
原帖由 rollingpig 于 2011-4-11 09:29 发表
用这里1-4楼的测试数据.

http://www.itpub.net/thread-1414049-1-1.html

SQL3-7 model法 SQL3-32递归with SQL3-13,level=3,递归+probe 标准解法递归+二分法#10.4

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
83#
发表于 2011-4-11 09:53 | 只看该作者
20-2也是很快的

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
84#
发表于 2011-4-11 10:00 | 只看该作者
20-2本质上也是递归+probe。
而且在用probe result时无法做到过滤中间路径重复的情况(我用translate的那部分)
原帖由 〇〇 于 2011-4-11 09:53 发表
20-2也是很快的

使用道具 举报

回复
论坛徽章:
52
SQL数据库编程大师
日期:2011-04-13 12:09:01奥运会纪念徽章:水球
日期:2012-10-08 09:35:51蛋疼蛋
日期:2012-11-19 10:28:53鲜花蛋
日期:2012-12-05 14:37:57紫蛋头
日期:2012-12-11 17:27:27紫蛋头
日期:2012-12-24 23:00:26兰博基尼
日期:2013-11-21 09:19:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
85#
发表于 2011-4-11 10:10 | 只看该作者
感谢 rollingpig 帮我回答关于3-32的question.

对于实际情况,我的看法,纠结于单用SQL解决不会很理想(从测试结果可以看出),现在大家的基本思路是
构造一个已知路径结果集,后面的join用此结果集过滤.
1)此结果集本身构造需要时间,城市越多,预先生成此结果集lvl越大
2)如果此结果集本身数据量太大,也会造成后继cost的增加

所以,我认为可能利用pl/sql recursive function,每次pre jion,可以动态生成已知最小路径集. 是比较理想的实际解决方法.

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
86#
发表于 2011-4-11 11:15 | 只看该作者
原帖由 rollingpig 于 2011-4-11 09:29 发表
用这里1-4楼的测试数据.

http://www.itpub.net/thread-1414049-1-1.html

SQL3-7 model法 SQL3-32递归with SQL3-13,level=3,递归+probe 标准解法递归+二分法#10.4


这个就是那些90分以上的运行速度吗?那么你看看3_1, 我这里测试的结果:

#1 20城市 0.28秒
#2 40城市 10 秒
#3 19城市 0.3秒
#4 33城市 0.78秒

执行速度基本上和 节点数 * 路径数^2 成比例, 请评委们指出这个脚本这个到底哪里不好?

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
87#
发表于 2011-4-11 14:25 | 只看该作者
我这里没有sql-server.

估计是容错测试出错吧?



原帖由 lugionline 于 2011-4-11 11:15 发表


这个就是那些90分以上的运行速度吗?那么你看看3_1, 我这里测试的结果:

#1 20城市 0.28秒
#2 40城市 10 秒
#3 19城市 0.3秒
#4 33城市 0.78秒

执行速度基本上和 节点数 * 路径数^2 成比例, 请评委们指出这个脚本这个到底哪里不好?

使用道具 举报

回复
论坛徽章:
19
授权会员
日期:2007-10-19 09:45:02ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44奥运会纪念徽章:网球
日期:2008-07-01 09:01:502009日食纪念
日期:2009-07-22 09:30:002011新春纪念徽章
日期:2011-02-18 11:43:34SQL大赛参与纪念
日期:2011-04-13 12:08:17SQL数据库编程大师
日期:2011-04-13 12:09:012012新春纪念徽章
日期:2012-01-04 11:50:44奥运会纪念徽章:体操
日期:2012-10-09 16:13:52
88#
发表于 2011-4-11 15:03 | 只看该作者
第四期什么时候出结果?

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
89#
发表于 2011-4-11 15:04 | 只看该作者
原帖由 rollingpig 于 2011-4-11 14:25 发表
我这里没有sql-server.

估计是容错测试出错吧?





我看过容错数据的,结果基本一样,唯一的区别是补贴费用等于0的城市,标准答案中是输出0费用,但是我的是不输出,但是我的依据是:

"
L在cities里没有,也就是没有人参加比赛的
最终输出结果里开始出发地不需要L的,但是L在routes里有,L则可以作为举办地

呵呵
[ 本帖最后由 dingjun123 于 2011-3-18 16:53 编辑 ]
"

这个是评委自己说的,所以我特意把费用为0的过滤掉了,应当不能算我的答案错误吧?

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
90#
发表于 2011-4-11 15:13 | 只看该作者
原帖由 lugionline 于 2011-4-11 15:04 发表


我看过容错数据的,结果基本一样,唯一的区别是补贴费用等于0的城市,标准答案中是输出0费用,但是我的是不输出,但是我的依据是:

"
L在cities里没有,也就是没有人参加比赛的
最终输出结果里开始出发地不需要L的,但是L在routes里有,L则可以作为举办地

呵呵
[ 本帖最后由 dingjun123 于 2011-3-18 16:53 编辑 ]
"

这个是评委自己说的,所以我特意把费用为0的过滤掉了,应当不能算我的答案错误吧?


补贴费用为0是的确不用输出的。我的没输出,标准答案也没输出。

不清楚其他的,等评委解释吧~

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表