在几个项目中使用Liquibase后,上周我开始在Informix中使用它。对于执行更新或回滚的每个命令,我必须等待大约1分钟才能得到结果。在wireshark的帮助下,我发现,Liquibase执行以下SQL语句,并且语句需要这么多时间。是否可以避免该陈述或使其更快?
SELECT trim(t.owner):: VARCHAR(128),t.tabname :: VARCHAR(128),c.colname :: VARCHAR(128),informix.get_data_type(c.coltype,c.extended_id,0 ):: SMALLINT,informix.schema_coltypename(c.coltype,c.extended_id):: VARCHAR(128),informix.schema_precision(c.coltype,c.extended_id,c.collength):: INTEGER,0 :: INTEGER,informix .schema_numscale(c.coltype,c.collength):: INTEGER,informix.schema_numprecradix(c.coltype):: INTEGER,informix.schema_isnullable(c.coltype):: INTEGER,NULL :: VARCHAR(254),CASE d。类型WHEN'L'THEN informix.get_default_value(c.coltype,c.extended_id,c.collength,d.default :: lvarchar(256)):: VARCHAR(254)当'C'那么'当前':: VARCHAR( 254)什么时候''那么'dbservername':: VARCHAR(254)当'你'那'用户':: VARCHAR(254)当'T'那么'今天':: VARCHAR(254)ELSE NULL :: VARCHAR( 254)END,c.coltype :: INTEGER,informix.schema_datetype(c.coltype,c.collength):: INTEGER,informix.schema_charlen(c.coltype,c.extended_id,c.collength):: INTEGER,c.colno :: INTEGER,informix.schema_nullable(c.colt ype):: VARCHAR(3),NULL :: VARCHAR(128),NULL :: VARCHAR(128),NULL :: VARCHAR(128),NULL :: smallint,informix.schema_isautoincr(c.coltype):: VARCHAR( 3),c.extended_id :: INTEGER FROM informix.systables t,OUTER informix.sysdefaults d,informix.syscolumns c WHERE t.tabid = c.tabid and d.tabid = t.tabid AND c.colno = d.colno AND (t.tabtype不在('P','S'))AND(d.class in('T'))和t.tabname如'%'和t.owner如'informix'和c.colname like' %'union SELECT trim(st.owner):: VARCHAR(128),st.tabname :: VARCHAR(128),c.colname :: VARCHAR(128),informix.get_data_type(c.coltype,c.extended_id,0 ):: SMALLINT,informix.schema_coltypename(c.coltype,c.extended_id):: VARCHAR(128),informix.schema_precision(c.coltype,c.extended_id,c.collength):: INTEGER,0 :: INTEGER,informix .schema_numscale(c.coltype,c.collength):: INTEGER,informix.schema_numprecradix(c.coltype):: INTEGER,informix.schema_isnullable(c.coltype):: INTEGER,NULL :: VARCHAR(254),CASE d。输入WH EN'L'THEN informix.get_default_value(c.coltype,c.extended_id,c.collength,d.default :: lvarchar(256)):: VARCHAR(254)当'C'那么'当前':: VARCHAR(254) )当'那么'那么'dbservername':: VARCHAR(254)当'你'那么'用户':: VARCHAR(254)当'T'那么'今天':: VARCHAR(254)ELSE NULL :: VARCHAR(254) )END,c.coltype :: INTEGER,informix.schema_datetype(c.coltype,c.collength):: INTEGER,informix.schema_charlen(c.coltype,c.extended_id,c.collength):: INTEGER,c.colno: :INTEGER,informix.schema_nullable(c.coltype):: VARCHAR(3),NULL :: VARCHAR(128),NULL :: VARCHAR(128),NULL :: VARCHAR(128),NULL :: smallint,informix.schema_isautoincr (c.coltype):: VARCHAR(3),c.extended_id :: INTEGER FROM informix.systables st,informix.syssyntable s,informix.systables t,OUTER informix.sysdefaults d,informix.syscolumns c WHERE st.tabid = s .tabid AND s.btabid = t.tabid AND t.tabid = c.tabid AND d.tabid = t.tabid AND c.colno = d.colno AND (st.tabtype in('P','S'))AND(d.class in('T'))AND st.tabname LIKE'%'AND st.owner LIKE'noticix'AND c.colname LIKE'% '顺序1,2,16
答案 0 :(得分:0)
在我的实例上运行它(ids 12.10uc5)给我:
Error in processing the request.
对我来说这似乎不太慢,你的时代是什么时候?使用添加/删除索引无法修改系统表的模式。也许你可以尝试一个不同/更新的Informix版本?
的问候,