ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
楼主: richto

邀请高手测试一款机械式全自动SQL优化工具

[复制链接]
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
11#
发表于 2017-12-25 11:12 | 只看该作者
这个缺省计划挺有趣,它竟然拆成两次JOIN, 猜测第二次是为了获得部门名称,CBO的改写能力令人赞叹。
你的工具生成的PLAN又是怎么样的?如果客户要求不启用并行(OLTP环境),这个工具可以做到吗?

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
12#
 楼主| 发表于 2017-12-25 11:27 | 只看该作者
"TOM的观点是反对使用HINTS的,它是调优的最后选择,不是常规手段"
If you are talking about 10 years ago, yes I agree with this statement, but with the more sophisticated hints are provided in latest Oracle, some are even not documented in Oracle manual, the hints is now become the first choice to help Oracle SQL optimizer find better ways to run your SQL. You can see how Oracle uses SQL profile, SQL Plan Baselines or even SQL translator to help improve SQL performance and Hints is the best way to utilize those features. If we are talking about improve a bad performance SQL, you have 3 choices in development database in this order: Rewrite the SQL, Build New Index, Apply Hints.
But, if the SQL is in production database already I would recommend this order: Apply hints, Rewrite the SQL, Build New Index.
I will write up an article later and tell you why?

使用道具 举报

回复
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
13#
发表于 2017-12-25 11:43 | 只看该作者
确实,现在的ORACLE演变了很多,以前的一些旧观点不再适用。但是不被文档支持的特性肯定是不推荐使用的,因为ORACLE有可能随时取消它。
话说你这工具最终不也是要求修改SQL吗?它并不能直接将结果应用在一个产品库上(无法改动应用来增加HINTS)
期待你的新文章。

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
14#
 楼主| 发表于 2017-12-25 11:52 | 只看该作者
newkid 发表于 2017-12-25 11:43
确实,现在的ORACLE演变了很多,以前的一些旧观点不再适用。但是不被文档支持的特性肯定是不推荐使用的,因 ...

Undocumented hints normally used by Oracle internal only.
Yes. current version you still need to change the SQL, we are working on something more powerful.

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
15#
 楼主| 发表于 2017-12-26 12:32 | 只看该作者
newkid 发表于 2017-12-25 11:12
这个缺省计划挺有趣,它竟然拆成两次JOIN, 猜测第二次是为了获得部门名称,CBO的改写能力令人赞叹。
你的 ...

Yes, Oracle CBO is very powerfull that most people don't know, I believe their internal SQL transformation and the size of plan space is the best among all databases. You can use manual setting in Option window to tune off Parallel hints  and see what happen with all other hints enabled.

使用道具 举报

回复
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
16#
发表于 2017-12-27 09:37 | 只看该作者
其实,这个SQL的更好写法应该是这样:

select d.dpts_name,e.emps_salary
  from (select *
         from (select emps_dept, sum(emps_salary) emps_salary
                 from employees,
                group by emps_dept
                order by sum(emps_salary) desc) a
       where rownum < 10
       ) e
      ,departments d
where e.emps_dept = d.dpts_id
order by 2 desc;

即先聚合然后再做连接,但是这和原SQL不等价,你不妨在emps_dept加上foreign key, 在 emps_dept.dpts_name加上唯一约束,看看CBO能不能自己变成我这种写法。

TOM已经退休了,我找到Jonathan Lewis的一篇关于他对hints的看法:


Oracle Scratchpad
May 2, 2008
Rules for Hinting
Filed under: Hints — Jonathan Lewis @ 8:13 am GMT May 2,2008
I’ve written a number of notes about hinting in fact, by using at the “Select Category” list to the right, I see that I have (so far) tagged 26 different articles (and this will be the 27th) with the hints tag. So I’ve decided it was time that I made clear my basic guidelines on safe hinting, as follows:

Don’t
If you must use hints, then assume you’ve used them incorrectly.
On every patch or upgrade to Oracle, assume every piece of hinted SQL is going to do the wrong thing … because of (2) above. You’ve been lucky so far, but the patch/upgrade lets you discover your mistake.
Every time you apply some DDL to an object that appears in a piece of hinted SQL assume that the hinted SQL is going to do the wrong thing … because of (2) above. You’ve been lucky so far, but the structural change lets you discover your mistake.
You will appreciate from these guidelines that I don’t really approve of using hints. The only reason that I leave them in place on a production system is when I’m sure that there is no alternative safe mechanism for making the optimizer do what I want. (And that does mean that I will use hints sometimes on a production system.)

..............

这篇也差不多有十年了,不知道他现在看法有没有改变。你也可以写一篇针锋相对的文章来讨论。

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
17#
 楼主| 发表于 2017-12-27 14:25 | 只看该作者
newkid 发表于 2017-12-27 09:37
其实,这个SQL的更好写法应该是这样:

select d.dpts_name,e.emps_salary

Sure, I am working on it.

Thanks!

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2018-1-2 20:21 | 只看该作者
期待大牛之间的论战

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
19#
 楼主| 发表于 2018-1-4 14:27 | 只看该作者
Thanks for your feedback and support.

Now 1.1.2 is available to download and test, some bugs are fixed.

使用道具 举报

回复
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
20#
发表于 2018-1-5 00:51 | 只看该作者
我们有很多这样的使用场景:调用一个 PLSQL 存储过程写入到一个 GLOBAL TEMPORARY TABLE, 然后再执行一个复杂的 SQL, 其中引用到这个临时表的数据。

我看了一下好像工具在调试SQL之前没有办法执行一个存储过程。这个功能能够实现吗?

使用道具 举报

回复

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

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表
  • http://www.qqtmb.com/5580/64417.html
  • http://www.qqtmb.com/5580/2673.html
  • http://www.qqtmb.com/5580/345276.html
  • http://www.qqtmb.com/5580/56772.html
  • http://www.qqtmb.com/5580/3625.html
  • http://www.qqtmb.com/5580/234573.html
  • http://www.qqtmb.com/5580/37256.html
  • http://www.qqtmb.com/5580/554273.html
  • http://www.qqtmb.com/5580/454773.html
  • http://www.qqtmb.com/5580/244767.html
  • http://www.qqtmb.com/KU110/36326.html
  • http://www.qqtmb.com/KU110/17143.html
  • http://www.qqtmb.com/KU110/445171.html
  • http://www.qqtmb.com/KU110/3172.html
  • http://www.qqtmb.com/KU110/374615.html
  • http://www.qqtmb.com/KU10/2361.html
  • http://www.qqtmb.com/KU10/357743.html
  • http://www.qqtmb.com/KU10/555252.html
  • http://www.qqtmb.com/KU10/71211.html
  • http://www.qqtmb.com/KU10/437244.html
  • http://www.qqtmb.com/dG10/735.html
  • http://www.qqtmb.com/dG10/547654.html
  • http://www.qqtmb.com/dG10/563165.html
  • http://www.qqtmb.com/dG10/56636.html
  • http://www.qqtmb.com/dG10/734677.html
  • http://www.qqtmb.com/G20/51572.html
  • http://www.qqtmb.com/G20/4135.html
  • http://www.qqtmb.com/G20/45212.html
  • http://www.qqtmb.com/G20/62632.html
  • http://www.qqtmb.com/G20/22636.html
  • http://www.qqtmb.com/G21/556576.html
  • http://www.qqtmb.com/G21/7136.html
  • http://www.qqtmb.com/G21/44261.html
  • http://www.qqtmb.com/G21/26261.html
  • http://www.qqtmb.com/G21/665735.html
  • http://www.qqtmb.com/GH22/72632.html
  • http://www.qqtmb.com/GH22/317221.html
  • http://www.qqtmb.com/GH22/7733.html
  • http://www.qqtmb.com/GH22/613157.html
  • http://www.qqtmb.com/GH22/3647.html
  • http://www.qqtmb.com/GH32/521664.html
  • http://www.qqtmb.com/GH32/44157.html
  • http://www.qqtmb.com/GH32/23611.html
  • http://www.qqtmb.com/GH32/26577.html
  • http://www.qqtmb.com/GH32/562.html
  • http://www.qqtmb.com/GH32/47225.html
  • http://www.qqtmb.com/GH32/125556.html
  • http://www.qqtmb.com/GH32/31475.html
  • http://www.qqtmb.com/GH32/527544.html
  • http://www.qqtmb.com/GH32/53712.html
  • http://www.qqtmb.com/fH32/55436.html
  • http://www.qqtmb.com/fH32/575457.html
  • http://www.qqtmb.com/fH32/2355.html
  • http://www.qqtmb.com/fH32/5237.html
  • http://www.qqtmb.com/fH32/747422.html
  • http://www.qqtmb.com/fH32/37654.html
  • http://www.qqtmb.com/fH32/465525.html
  • http://www.qqtmb.com/fH32/732255.html
  • http://www.qqtmb.com/fH32/21566.html
  • http://www.qqtmb.com/fH32/11312.html
  • http://www.qqtmb.com/fH32/6353.html
  • http://www.qqtmb.com/fH32/74173.html
  • http://www.qqtmb.com/PL200/67341.html
  • http://www.qqtmb.com/PL200/145454.html
  • http://www.qqtmb.com/PL200/474715.html
  • http://www.qqtmb.com/PL200/6316.html
  • http://www.qqtmb.com/PL200/24351.html
  • http://www.qqtmb.com/PL200/1352.html
  • http://www.qqtmb.com/PL200/67341.html
  • http://www.qqtmb.com/PL200/145454.html
  • http://www.qqtmb.com/PL200/474715.html
  • http://www.qqtmb.com/PL200/6316.html
  • http://www.qqtmb.com/PL200/24351.html
  • http://www.qqtmb.com/PL200/1352.html
  • http://www.qqtmb.com/PLeff/273367.html
  • http://www.qqtmb.com/PLeff/57316.html
  • http://www.qqtmb.com/PLeff/6325.html
  • http://www.qqtmb.com/PLeff/41626.html
  • http://www.qqtmb.com/PLeff/514325.html
  • http://www.qqtmb.com/PLeff/34513.html
  • http://www.qqtmb.com/m1905/227.html
  • http://www.qqtmb.com/m1905/64265.html
  • http://www.qqtmb.com/m1905/63541.html
  • http://www.qqtmb.com/m1905/116717.html
  • http://www.qqtmb.com/m1905/31334.html
  • http://www.qqtmb.com/m1905/77477.html
  • http://www.qqtmb.com/m1905/62236.html
  • http://www.qqtmb.com/m1905/33524.html
  • http://www.qqtmb.com/m1905/47223.html
  • http://www.qqtmb.com/m1905/512757.html
  • http://www.qqtmb.com/m1905/633625.html
  • http://www.qqtmb.com/m1905/547652.html
  • http://www.qqtmb.com/m1905/273417.html
  • http://www.qqtmb.com/m1905/45424.html
  • http://www.qqtmb.com/m1905/7643.html
  • http://www.qqtmb.com/m1905/74135.html
  • http://www.qqtmb.com/m1905/262453.html
  • http://www.qqtmb.com/m1905/325626.html
  • http://www.qqtmb.com/m1905/141547.html
  • http://www.qqtmb.com/m1905/256133.html
  • http://www.qqtmb.com/m1905/36712.html
  • http://www.qqtmb.com/m1905/471163.html
  • http://www.qqtmb.com/m1905/252526.html
  • http://www.qqtmb.com/m1905/145111.html
  • http://www.qqtmb.com/m1905/115777.html
  • http://www.qqtmb.com/m1905/32651.html
  • http://www.qqtmb.com/m1905/555473.html
  • http://www.qqtmb.com/m1905/14461.html
  • http://www.qqtmb.com/m1905/552.html
  • http://www.qqtmb.com/m1905/761253.html
  • http://www.qqtmb.com/mm105/65336.html
  • http://www.qqtmb.com/mm105/466135.html
  • http://www.qqtmb.com/mm105/424351.html
  • http://www.qqtmb.com/mm105/147235.html
  • http://www.qqtmb.com/mm105/467436.html
  • http://www.qqtmb.com/mm105/164153.html
  • http://www.qqtmb.com/mm105/472151.html
  • http://www.qqtmb.com/mm105/11444.html
  • http://www.qqtmb.com/mm105/424625.html
  • http://www.qqtmb.com/mm105/253632.html
  • http://www.qqtmb.com/mm105/662713.html
  • http://www.qqtmb.com/mm105/217247.html
  • http://www.qqtmb.com/mm105/737532.html
  • http://www.qqtmb.com/mm105/1625.html
  • http://www.qqtmb.com/mm105/2545.html
  • http://www.qqtmb.com/mm105/2671.html
  • http://www.qqtmb.com/mm105/1411.html
  • http://www.qqtmb.com/mm105/114763.html
  • http://www.qqtmb.com/mm105/331212.html
  • http://www.qqtmb.com/mm105/557771.html
  • http://www.qqtmb.com/jb123/76236.html
  • http://www.qqtmb.com/jb123/357762.html
  • http://www.qqtmb.com/jb123/466572.html
  • http://www.qqtmb.com/jb123/733627.html
  • http://www.qqtmb.com/jb123/1263.html
  • http://www.qqtmb.com/jb123/135567.html
  • http://www.qqtmb.com/jb123/32355.html
  • http://www.qqtmb.com/jb123/746252.html
  • http://www.qqtmb.com/jb123/72661.html
  • http://www.qqtmb.com/jb123/216724.html
  • http://www.qqtmb.com/jb123/511452.html
  • http://www.qqtmb.com/jb123/1576.html
  • http://www.qqtmb.com/jb123/54314.html
  • http://www.qqtmb.com/jb123/143657.html
  • http://www.qqtmb.com/jb123/677414.html
  • http://www.qqtmb.com/jb123/2727.html
  • http://www.qqtmb.com/jb123/4471.html
  • http://www.qqtmb.com/jb123/43142.html
  • http://www.qqtmb.com/jb123/16.html
  • http://www.qqtmb.com/jb123/521.html
  • http://www.qqtmb.com/qqzy/15563.html
  • http://www.qqtmb.com/qqzy/535641.html
  • http://www.qqtmb.com/qqzy/131425.html
  • http://www.qqtmb.com/qqzy/242633.html
  • http://www.qqtmb.com/qqzy/135214.html
  • http://www.qqtmb.com/qqzy/41513.html
  • http://www.qqtmb.com/qqzy/625536.html
  • http://www.qqtmb.com/qqzy/577442.html
  • http://www.qqtmb.com/qqzy/36615.html
  • http://www.qqtmb.com/qqzy/26563.html
  • http://www.qqtmb.com/qqzy/15563.html
  • http://www.qqtmb.com/qqzy/535641.html
  • http://www.qqtmb.com/qqzy/131425.html
  • http://www.qqtmb.com/qqzy/242633.html
  • http://www.qqtmb.com/qqzy/135214.html
  • http://www.qqtmb.com/qqzy/41513.html
  • http://www.qqtmb.com/qqzy/625536.html
  • http://www.qqtmb.com/qqzy/577442.html
  • http://www.qqtmb.com/qqzy/36615.html
  • http://www.qqtmb.com/qqzy/26563.html
  • http://www.qqtmb.com/qq123/162652.html
  • http://www.qqtmb.com/qq123/272142.html
  • http://www.qqtmb.com/qq123/71157.html
  • http://www.qqtmb.com/qq123/176637.html
  • http://www.qqtmb.com/qq123/214247.html
  • http://www.qqtmb.com/qq123/67372.html
  • http://www.qqtmb.com/qq123/7375.html
  • http://www.qqtmb.com/qq123/375.html
  • http://www.qqtmb.com/qq123/734514.html
  • http://www.qqtmb.com/qq123/77312.html
  • http://www.qqtmb.com/qq123/226661.html
  • http://www.qqtmb.com/qq123/475214.html
  • http://www.qqtmb.com/qq123/16664.html
  • http://www.qqtmb.com/qq123/127162.html
  • http://www.qqtmb.com/qq123/234763.html
  • http://www.qqtmb.com/qq123/172342.html
  • http://www.qqtmb.com/qq123/71652.html
  • http://www.qqtmb.com/qq123/436.html
  • http://www.qqtmb.com/qq123/335662.html
  • http://www.qqtmb.com/qq123/436216.html
  • http://www.qqtmb.com/qq123/755247.html
  • http://www.qqtmb.com/qq123/53116.html
  • http://www.qqtmb.com/qq123/77513.html
  • http://www.qqtmb.com/qq123/137.html
  • http://www.qqtmb.com/qq123/433673.html
  • http://www.qqtmb.com/qq123/316552.html
  • http://www.qqtmb.com/qq123/43633.html
  • http://www.qqtmb.com/qq123/346336.html
  • http://www.qqtmb.com/qq123/661211.html
  • http://www.qqtmb.com/qq123/724526.html
  • http://www.qqtmb.com/qq123/316617.html
  • http://www.qqtmb.com/qq123/6475.html
  • http://www.qqtmb.com/qq123/243217.html
  • http://www.qqtmb.com/qq123/4255.html
  • http://www.qqtmb.com/qq123/175355.html
  • http://www.qqtmb.com/qq123/436735.html
  • http://www.qqtmb.com/qq123/725367.html
  • http://www.qqtmb.com/qq123/54155.html
  • http://www.qqtmb.com/qq123/622227.html
  • http://www.qqtmb.com/qq123/3714.html
  • http://www.qqtmb.com/qq123/547364.html
  • http://www.qqtmb.com/qq123/155245.html
  • http://www.qqtmb.com/qq123/75232.html
  • http://www.qqtmb.com/qq123/74621.html
  • http://www.qqtmb.com/qq123/742631.html
  • http://www.qqtmb.com/qq123/6513.html
  • http://www.qqtmb.com/qq123/11762.html
  • http://www.qqtmb.com/qq123/534217.html
  • http://www.qqtmb.com/qq123/355753.html
  • http://www.qqtmb.com/qq123/215532.html
  • http://www.qqtmb.com/qq123/7261.html
  • http://www.qqtmb.com/qq123/56621.html
  • http://www.qqtmb.com/qq123/225475.html
  • http://www.qqtmb.com/qq123/413534.html
  • http://www.qqtmb.com/qq123/73437.html
  • http://www.qqtmb.com/qq123/147374.html
  • http://www.qqtmb.com/qq123/556416.html
  • http://www.qqtmb.com/qq123/211431.html
  • http://www.qqtmb.com/qq123/41366.html
  • http://www.qqtmb.com/qq123/472376.html
  • http://www.qqtmb.com/qq123/5652.html
  • http://www.qqtmb.com/qq123/3161.html
  • http://www.qqtmb.com/qq123/6314.html
  • http://www.qqtmb.com/qq123/74427.html
  • http://www.qqtmb.com/qq123/6256.html
  • http://www.qqtmb.com/qq123/541524.html
  • http://www.qqtmb.com/qq123/414756.html
  • http://www.qqtmb.com/qq123/77221.html
  • http://www.qqtmb.com/qq123/25516.html
  • http://www.qqtmb.com/qq123/264367.html
  • http://www.qqtmb.com/qq123/15172.html
  • http://www.qqtmb.com/qq123/242224.html
  • http://www.qqtmb.com/qq123/372773.html
  • http://www.qqtmb.com/qq123/511613.html
  • http://www.qqtmb.com/qq123/757635.html
  • http://www.qqtmb.com/qq123/437667.html
  • http://www.qqtmb.com/qq123/35754.html
  • http://www.qqtmb.com/qq123/4.html
  • http://www.qqtmb.com/qq123/727775.html
  • http://www.qqtmb.com/qq123/736631.html
  • http://www.qqtmb.com/qq123/452375.html
  • http://www.qqtmb.com/qq123/11.html
  • http://www.qqtmb.com/qq123/4251.html
  • http://www.qqtmb.com/qq123/5525.html
  • http://www.qqtmb.com/qq123/72234.html
  • http://www.qqtmb.com/qq123/44674.html
  • http://www.qqtmb.com/qq123/151646.html
  • http://www.qqtmb.com/qq123/763643.html
  • http://www.qqtmb.com/qq123/124715.html
  • http://www.qqtmb.com/qq123/1441.html
  • http://www.qqtmb.com/yqwz/631531.html
  • http://www.qqtmb.com/yqwz/3146.html
  • http://www.qqtmb.com/yqwz/66722.html
  • http://www.qqtmb.com/yqwz/6462.html
  • http://www.qqtmb.com/yqwz/25757.html
  • http://www.qqtmb.com/yqwz/773665.html
  • http://www.qqtmb.com/yqwz/631531.html
  • http://www.qqtmb.com/yqwz/3146.html
  • http://www.qqtmb.com/yqwz/66722.html
  • http://www.qqtmb.com/yqwz/6462.html
  • http://www.qqtmb.com/yqwz/25757.html
  • http://www.qqtmb.com/yqwz/773665.html
  • http://www.qqtmb.com/HO15p/325731.html
  • http://www.qqtmb.com/HO15p/6741.html
  • http://www.qqtmb.com/HO15p/1133.html
  • http://www.qqtmb.com/HO15p/72273.html
  • http://www.qqtmb.com/HO15p/334636.html
  • http://www.qqtmb.com/HO15p/31217.html
  • http://www.qqtmb.com/HO112/731225.html
  • http://www.qqtmb.com/HO112/161555.html
  • http://www.qqtmb.com/HO112/32743.html
  • http://www.qqtmb.com/HO112/35257.html
  • http://www.qqtmb.com/HO112/137155.html
  • http://www.qqtmb.com/HO112/163125.html
  • http://www.qqtmb.com/HO13/751521.html
  • http://www.qqtmb.com/HO13/633.html
  • http://www.qqtmb.com/HO13/534221.html
  • http://www.qqtmb.com/HO13/75627.html
  • http://www.qqtmb.com/HO13/6525.html
  • http://www.qqtmb.com/HO13/166434.html
  • http://www.qqtmb.com/HO13/71734.html
  • http://www.qqtmb.com/HO13/73314.html
  • http://www.qqtmb.com/HO13/263455.html
  • http://www.qqtmb.com/HO13/23351.html
  • http://www.qqtmb.com/GD560/7116.html
  • http://www.qqtmb.com/Jp09/345275.html
  • http://www.qqtmb.com/Jp09/443423.html
  • http://www.qqtmb.com/Jp09/726164.html
  • http://www.qqtmb.com/Jp09/553575.html
  • http://www.qqtmb.com/hd1168/55147.html
  • http://www.qqtmb.com/GD560/625727.html
  • http://www.qqtmb.com/hd1168/5511.html
  • http://www.qqtmb.com/hd1168/11345.html
  • http://www.qqtmb.com/Jp09/36641.html
  • http://www.qqtmb.com/hd1168/542137.html
  • http://www.qqtmb.com/GD560/7122.html
  • http://www.qqtmb.com/GD560/51116.html
  • http://www.qqtmb.com/Jp09/111332.html
  • http://www.qqtmb.com/hd1168/346663.html
  • http://www.qqtmb.com/28911/57546.html
  • http://www.qqtmb.com/28911/4434.html
  • http://www.qqtmb.com/48917/2427.html
  • http://www.qqtmb.com/58910/76465.html
  • http://www.qqtmb.com/28911/176525.html
  • http://www.qqtmb.com/38912/53637.html
  • http://www.qqtmb.com/28911/15771.html
  • http://www.qqtmb.com/48917/65416.html
  • http://www.qqtmb.com/38912/665337.html
  • http://www.qqtmb.com/28911/56675.html
  • http://www.qqtmb.com/48917/12622.html
  • http://www.qqtmb.com/58910/14325.html
  • http://www.qqtmb.com/48917/2431.html
  • http://www.qqtmb.com/28911/572646.html
  • http://www.qqtmb.com/58910/54514.html
  • http://www.qqtmb.com/38912/16322.html
  • http://www.qqtmb.com/58910/23636.html
  • http://www.qqtmb.com/38912/17141.html
  • http://www.qqtmb.com/58910/3457.html
  • http://www.qqtmb.com/28911/46265.html
  • http://www.qqtmb.com/58910/23263.html
  • http://www.qqtmb.com/38912/36412.html
  • http://www.qqtmb.com/28911/262.html
  • http://www.qqtmb.com/48917/7637.html
  • http://www.qqtmb.com/28911/241342.html
  • http://www.qqtmb.com/58910/624136.html
  • http://www.qqtmb.com/48917/1731.html
  • http://www.qqtmb.com/38912/453344.html
  • http://www.qqtmb.com/48917/173641.html
  • http://www.qqtmb.com/48917/5232.html
  • http://www.qqtmb.com/38912/161512.html
  • http://www.qqtmb.com/28911/323351.html
  • http://www.qqtmb.com/28911/6617.html
  • http://www.qqtmb.com/58910/245754.html
  • http://www.qqtmb.com/58910/34.html
  • http://www.qqtmb.com/PDFax/463571.html
  • http://www.qqtmb.com/PDFar/42126.html
  • http://www.qqtmb.com/PDFax/1273.html
  • http://www.qqtmb.com/PDFab/32356.html
  • http://www.qqtmb.com/PDFac/61.html
  • http://www.qqtmb.com/PDFas/171773.html
  • http://www.qqtmb.com/dE12/755137.html
  • http://www.qqtmb.com/dE12/64722.html
  • http://www.qqtmb.com/dE12/52611.html
  • http://www.qqtmb.com/dE12/22413.html
  • http://www.qqtmb.com/dE12/54676.html
  • http://www.qqtmb.com/dE12/377275.html
  • http://www.qqtmb.com/dEor/426613.html
  • http://www.qqtmb.com/dEor/726236.html
  • http://www.qqtmb.com/dEor/56721.html
  • http://www.qqtmb.com/dEor/24413.html
  • http://www.qqtmb.com/dEor/754751.html
  • http://www.qqtmb.com/dEor/31542.html
  • http://www.qqtmb.com/dEor/66376.html
  • http://www.qqtmb.com/dEor/31711.html
  • http://www.qqtmb.com/dEor/71723.html
  • http://www.qqtmb.com/dEor/43515.html
  • 北京赛车pk10 申博官网 北京赛车pk10 六台宝典现场开奖 北京赛车pk10历史记录 北京赛车开奖 北京赛车预测 949494开奖结果今晚 威尼斯人线上娱乐 手机投注平台 幸运28投注技巧 pk10助赢软件 北京pk10百度鼎盛彩票网 北京赛车聚彩 北京pk10如何稳杀3码 pk10稳赢方法 pk10定位计划 pk10包赢计划群