免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 35299 | 回复: 66

拳打Informix 9.3,脚踢Informix 9.4,强烈BS [复制链接]

论坛徽章:
0
发表于 2006-01-06 11:24 |显示全部楼层
1,execute plan
Informix的execute plan,
1)单条SQL语句,可以通过以下方式得到
% dbaccess  database_name  -  
Database selected.
> set explain on;
Explain set.
> 执行SQL语句
然后Ctrl+c退出会话,在当前目录会有一个sqexplain.out,里面记录了执行计划。
2)Procedure,可以通过
% dbaccess  database_name  -  
Database selected.
> set explain on;
Explain set.
> update statistics for procedure procedure_name;
Routine Statistics updated.
然后Ctrl+c退出会话,在当前目录会有一个sqexplain.out,里面记录了procedure里所有SQL语句的执行计划。

Oracle,随便一举,就要N多种方法查看,如
SQLPLUS里set autotrace,alter session set sql_trace,alter session set events等等方法,还提供了跟踪文件分析工具,可分析出N多有用的信息。

Informix那破玩意儿,就一个简单的描述说是否走索引,成本值是多少,过滤条件是什么,估计返回多少行就完了,,语句执行的顺序都没有,不过还好的是,如果用了索引,把这个要用的索引的所有字段列表都列出来了,就不给索引名称了,

2,extend
Informix的extend居然有数量限制,如果一个表默认设置extend小了,表大到一定程度,居然不再能插入数据,必须把表导出来,创建一个大的extend大小再导进去,你说变态不变态


3,sql性能数据历史记录
Informix这个死变态,提供的SQL性能视图就那么几个,还啥鸟都查不出来。默认配置参数,居然还不启动STMT_CACHE设置,猜测是因为不提供动态SQL语句执行而默认不用的,不然程序员一般使用公共接口,不会去写绑定变量,INFORMIX担心STMT_CACHE_SIZE变太大太大,或管理开销太大被口水淹死,所以干脆默认就不配置。提供了个onstat -g ssc,有用的东西没几个,,SQL性能指标都没找到。如执行时间,物理读/写,逻辑读/写都没有。
打个电话问INFORMIX技术支持,那鸟人居然说不知道,去查,查回来告诉我说没有,建议使用server studio JE5.1,这是什么鸟玩意?没见过。

4,SMI表解释
SMI表就提供了那么几张表的解释,,对性能监控来说,用处不大。在网上找到了sysmaster表的说明,认真观察了一下,也没发现几张有用的系统表。


5,分区支持
这个死克郎皮,9.3/9.4只提供了范围分区,其他分区不提供,祖宗我还认真看了文档,高兴的用HASH,结果一试不行,赔偿我兴奋死掉的脑细胞!
不过INFORMIX提供的在线重初始化分区方案,和分区表和非分区表之间的在线合并分离,我还是非常喜欢的,不能不表扬一下下。。。

6,9.3和9.4的区别
同一个公司,两个小版本,居然系统表名,字段名都变了,你说它鬼不鬼,升级还非常麻烦,导致一直没做成升级。


7,系统工具难使
其实那有什么系统工具?onstat?onmode?onperf?onmonitor?,那一个是好使的。INFORMIX就TM以会话为单位统计一些性能数据,结果,你知道是那个会话顶鸟用,大型应用那么多会话,用完就关闭,你知道那个是那个?它还不提供历史记录。


8,内存分配,参数初始化设置
内存分配名义上提供了好多参数设置,每个感觉都满灵活的,可TM一用起来的时候,你就知道不爽了!


9,动态SQL
一个字:不支持。


10,在线交互工具
dbaccess?那有sqlplus那么丰富的功能,,用dbaccess db_name -  这种方法登陆,稍微象了一点,结果啥帮助都不提供,只能执行SQL语句。退出还得Ctrl + c。

其他就不说了,越写越累。。。

[ 本帖最后由 大夫 于 2006-1-18 00:19 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-01-07 08:52 |显示全部楼层
老大,你是在 informix 版发表这样的言论,不怕被围攻么?

不会使用可以学,不会用还不谦虚,不愿意学,一味的说 informix 系统的坏话,不是求学之道吧?

informix 被 IBM 收购,并不是它的数据库系统不优秀,实际上 informix 与 oracle 在数据库应用领域各有优势,很难分清哪一个更好,informix 的失误在于它选错了发展的方向和市场运作出现了问题.

还是多看看 informix 方面的书吧,等你真正了解了 informix ,就不会发表这写言论了.

论坛徽章:
0
发表于 2006-01-07 09:08 |显示全部楼层

回复 2楼 snow888 的帖子

can't agree with you more. Yes, every product has is pros and cons. Informix has lots of excellent feature;  no doubts, it has lots of awkward aspects.

论坛徽章:
0
发表于 2006-01-09 09:55 |显示全部楼层
原帖由 snow888 于 2006-1-7 08:52 发表
老大,你是在 informix 版发表这样的言论,不怕被围攻么?

不会使用可以学,不会用还不谦虚,不愿意学,一味的说 informix 系统的坏话,不是求学之道吧?

informix 被 IBM 收购,并不是它的数据库系统不优秀,实际上  ...


怕什么围攻?我对所有数据库都没有特别爱好,仅仅是工作需要而已,老板说用那个我就用那个了,我想大家没有对那种数据库有什么特别的感情吧?如果说有,被攻击也是好的,被攻击的同时,肯定也会引出一些重要的技术点出来,我也正好跟着学习。

唉,我已经在学了,我上面提到的,都是希望能用到的特性了,不知道你大概浏览了一下没有,接触Informix差不多两年了,我说INFORMIX不爽,都说了是和ORACLE做比较的了,INFORMIX能做成这样,已经非常非常厉害的了,我不是不承认他厉害,只是我是以一个用户的观点,来表达我使用过程中的一些不满了。ORACLE同样让我不满,只是没INFORMIX那么多而已。INFORMIX同样也有我喜欢的东西,只是比较少而已了。表达完不满后,我还是一样得低着脑袋继续啃它了。



以下是我当前收藏的INFORMIX资料,远远小于我收藏的ORACLE资料,不是我不想找,是找不到:
│  informix training 20050920 - .doc
│  informix 培训专题:集成基础I v1.00.doc
│  informix优化总结20051228hxjiang.doc

├─IBM Informix Guide to SQL(cn)
│      DBACCESS用户指南.pdf
│      DYNAMIC FOR UNIX LINUX 安装指南.pdf
│      DYNAMIC FOR WINDOWS 安装指南.pdf
│      ENTERPRISE REPLICATION 指南.pdf
│      GLS 用户指南.pdf
│      HIGH-PERFORMANCE LOADER 用户指南.pdf
│      INFORMIX DYNAMIC SERVER 入门指南.pdf
│      Simplified Chinese IBM Informix Guide to SQL- Reference.pdf
│      Simplified Chinese IBM Informix Guide to SQL- Syntax.pdf
│      Simplified Chinese IBM Informix Guide to SQL- Tutorial.pdf
│      SQL参考指南pdf.pdf
│      SQL参考指南语法.pdf
│      SQL教程指南pdf.pdf
│      备份与恢复指南.pdf
│      存储过程.sql
│      性能指南.pdf
│      数据库设计和实现指南.pdf
│      用户定义的例程与数据类型开发者指南.pdf
│      管理员参考大全.pdf
│      管理员指南.pdf
│      管理员指南2.pdf
│      迁移指南.pdf

├─IBM Informix92文档
│      Archive and Backup Guide.pdf
│      DB-access指南.pdf
│      备份和恢复指南.pdf
│      性能指南.pdf
│      数据库设计和实现指南.pdf
│      管理指南.pdf
│      迁移指南.pdf

├─IBM Informix93文档
│      备份和恢复指南.pdf
│      安装指南.pdf
│      性能指南.pdf
│      管理指南.pdf
│      迁移指南.pdf

├─IBM Informix94文档
│      DB-Access用户指南.pdf
│      Enterprise Replication指南.pdf
│      GLS 用户指南.pdf
│      High-Performance Loader.pdf
│      IDS入门指南.pdf
│      IDS安装指南(UNIX).pdf
│      IDS安装指南(Windows).pdf
│      IDS性能指南.pdf
│      IDS管理员参考指南.pdf
│      IDS管理员指南.pdf
│      Informix Storage Manager管理员指南.pdf
│      Informix 迁移指南.pdf
│      SQL 参考指南.pdf
│      SQL 指南:语法.pdf
│      SQL 教程指南.pdf
│      备份与恢复指南.pdf
│      数据库设计和实现指南.pdf
│      用户定义的例程与数据类型开发者指南.pdf

└─Informix 9.3 Document
        5343A.pdf
        5402A.pdf
        5403A.pdf
        5404A.pdf
        6363A.pdf
        6502A.pdf
        6636A.pdf
        6638A.pdf
        6684A.pdf
        8320.pdf
        8321.pdf
        8322.pdf
        8323.pdf
        8324.pdf
        8326.pdf
        8327.pdf
        8330.pdf
        8331.pdf
        8332.pdf
        8333.pdf
        8334.pdf
        8335.pdf
        8336.pdf
        8338.pdf
        8341.pdf
        8342.pdf
        8343.pdf
        8344.pdf
        8345.pdf
        8346.pdf
        8347.pdf
        8348.pdf
        8349.pdf
        8350.pdf
        8354.pdf
        8363.pdf
        index.htm

[ 本帖最后由 大夫 于 2006-1-9 10:06 编辑 ]

论坛徽章:
0
发表于 2006-01-09 09:59 |显示全部楼层
苍天,你可曾知道
可曾知道,收集这些资料过程中的困难
可曾知道,和INFORMIX技术支持打交道的困难(INFORMIX技术支持态度很好,能力只能说是比我强)
可曾知道,要想了解一个INFORMIX技术问题得通过多少途径,查阅多少资料
可曾知道,当一个个应用需求提出来,INFORMIX一次次回答说不行的时的感受
可曾知道,
。。。。。。

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
发表于 2006-01-09 14:08 |显示全部楼层
动态SQL不支持?有点晕,呵呵。
SMI表IDS的确就没有打算支持,他们的开发人员看不起ORACLE那种获得所有信息都要靠SQL的方式,认为增加服务器负担,所以认为onstat够了。
不过INFORMIX的各种调优,呵呵,现在都快成了非主流的东西,是那个德性了。不过IDS的确也认为很多东西不用调整。

论坛徽章:
0
发表于 2006-01-09 16:52 |显示全部楼层
建议LZ自己开发套数据库就不会抱怨了。。

论坛徽章:
0
发表于 2006-01-10 00:00 |显示全部楼层
原帖由 wolfop 于 2006-1-9 14:08 发表
动态SQL不支持?有点晕,呵呵。
SMI表IDS的确就没有打算支持,他们的开发人员看不起ORACLE那种获得所有信息都要靠SQL的方式,认为增加服务器负担,所以认为onstat够了。
不过INFORMIX的各种调优,呵呵,现在都快 ...



IDS只支持在比如C语言里使用变量绑定,而现在写程序,一般都是提供一个公共接口模块,所以程序员写的程序里,是非绑定的,接口里没有提供绑定.包括在SPL里也不提供绑定变量的接口(类似ORACLE的immediate execute的动态绑定接口).

我相信目前国内不少公司开发的软件,在上线以前是不会认真严格分析每一个SQL语句的执行效率的,如果仅仅一个onstat就够了,举例,我现在有一个系统,每小时生成的SQL量(超过9G,onstat -g ssc查到),我怎么知道是那些SQL语句严重导致了系统性能低下?而我很多SQL是在SPL里执行的,不能绑定,每执行一次解析一次,系统消耗是不是大了一点?

如果IDS现在认为自己可以自己动态调整,不需要人工调整,那自己跑快点啊......可是它又跑不快。同样的应用,在ORACLE里,优化后可以很快速就执行完的,在INFORMIX里就不行,而且都不方便测试,观察。

看楼主说话,感觉用INFORMIX很有经验的样子,先景仰一下,方便的时候请教一下

[ 本帖最后由 大夫 于 2006-1-10 00:13 编辑 ]

论坛徽章:
0
发表于 2006-01-10 00:10 |显示全部楼层
原帖由 philein 于 2006-1-9 16:52 发表
建议LZ自己开发套数据库就不会抱怨了。。



唉,其实我不是看不起INFORMIX了,已经承认他非常厉害了,只是希望他能好用点.你要真让我自己开发套数据库,我差不多可以告诉楼主,再给我10辈子我也搞不出来。所有的一切,都源自应用需要而已。
我们这里讲的,是不管他数据库厂商的开发结构是什么.只是问:
公司领导在应用慢的时候,让你把数据库搞快点,你会如何做?(千万不要回答在应用上线前应该把每条SQL测试一下,在国内不少公司来说,那是不可能的;如果楼主用过ORACLE,是不是觉得STATSPACK很爽?呵呵)


我用过ORACLE,INFORMIX,SYBASE,完全没接触过DB2,从内心来说,我还是喜欢ORACLE多些,因为好多东西很方便.信息全。呵呵,搞数据库优化是一个比较郁闷的工作了,大家就当是对社会主义不满,在这发发牢骚吧.

[ 本帖最后由 大夫 于 2006-1-10 00:12 编辑 ]

论坛徽章:
0
发表于 2006-01-10 09:57 |显示全部楼层

寸有所长,尺有所短

不喜欢就不喜欢了,不必争论这些,其实楼住所说的很多东西/问题,可能并不是问题,就看你用的怎样了
INFORMIX的小巧灵活,资源占用少,效率高,还有很多先进的技术比如HDR等都是不错的东西,它并不是那种以空间换时间的,或者以资源换效率的东西,我认为它比较好的平衡了资源/效率,空间/时间,费用/成本等
如果说IBM收购INFORMIX,除了开放平台上的市场以外,还有的就是要收购INFORMIX的技术,看看现在的DB2就知道了
INFORMIX不方便的地方,我倒觉得并不想楼主所说的,而是没有reorg,online建索引等功能
偶尔上来,忍不住多说了几句
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP