informix中lvarchar类型设计用于存储中度长度的字符数据(短的常用varchar类型、特别长的字符可用text类型)。其默认长度2048byte,最大长度32739byte,是一种可变长度的字符类型。其性能和稳定性相对较好,但有一缺点:一旦表结构中包含lvarchar类型,则后续对其结构的变更性能将异常的低。故对于数据量较大的表(千万级以上)不推荐使用此类型!

例子

  • informix版本:11.5
  • 表数据量:4700W

    表中原包含两个lvarchar类型字段:

create table lp_evaluation_part (
......
esti_remark lvarchar(2000),
appr_remark lvarchar(2000),
......
);
 更改表结构的sql:
alter table lp_evaluation_part add  retail_Price DECIMAL(14,2),
add supply_Price DECIMAL(14,2),
add eval_Push_No INT default 0,
add appr_Push_No INT default 0;

此sql执行时耗整体耗时:123分钟,后为测试验证将两个lvarchar类型的字段删除后重新执行此sql耗时:7秒。

解决方式

数据量大的表应尽量避免使用lvarchar类型,若因业务实际情况必须使用,则尽量将其拆分出一张字表。此字表存一些非核心的数据及lvarchar类型数据。这样主表结构变更时不会因为lvarchar类型影响效率。

lvarchar类型对表结构变更影响的更多相关文章

  1. [C语言]进阶|结构类型: 枚举, 结构, 类型定义

    --------------------------------------------------------------------- 枚举: // main.c #include <std ...

  2. gh-ost:不一样的在线表结构变更

    简介: 2016年8月份,shlomi-noach在GitHub Engineering发文宣布gh-ost开源.gh-ost是什么?一个不依赖触发器实现的在线表结构变更工具. 对于数据库运维人员来说 ...

  3. Lessons Learned 1(敏捷项目中的变更影响分析)

    问题/现象: 业务信息流转的某些环节,会向相关人员发送通知邮件,邮件中附带有链接,供相关人员进入察看或处理业务.客户要求邮件中的链接,需要进行限制,只有特定人员才能进入处理或察看.总管想了想,应道没问 ...

  4. C#枚举类型和结构体

    注意:枚举类型和结构体都属于值类型. 结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 一.定义的方法: struct student { public int nianl ...

  5. C语言中两个相同类型的结构体变量之间是可以相互直接赋值的

    C语言中,在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,而两个同类型的结构体变量属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的.所以,在C语言中两个相同类型的结构体变量 ...

  6. 空白符对HTML结构的影响与解决方案

    何为空白符? 空白符: 空格.制表符.换行符 注意:浏览器在解析HTML时会把所有空白符合并成一个空格 空白符对HTML结构的影响 HTML5中<textarea>标签placeholde ...

  7. 异步编程的类型系统:promise & future & closure & observable----异步编程类型的结构和操作

    异步编程类型的结构和操作. 上下文维护. A promise represents the eventual result of an asynchronous operation. The prim ...

  8. Mysql学习笔记(二)对表结构的增删改查

    有将近一个星期都没有更新mysql了.相反linux的东西倒是学习不少.可能我个人情感上对linux更感兴趣一点.但mysql我也不烦,只是一旦将精力投入到了一样事情上去,就很难将精力分散去搞其他的东 ...

  9. MySQL表结构变更,不可不知的Metadata Lock

    在线上进行DDL操作时,相对于其可能带来的系统负载,其实,我们最担心的还是MDL其可能导致的阻塞问题. 一旦DDL操作因获取不到MDL被阻塞,后续其它针对该表的其它操作都会被阻塞.典型如下,如阻塞稍久 ...

随机推荐

  1. IE 8-不支持 placeholder 解决方法

    ;!function fixPlaceholder() { var hasPlaceholder = 'placeholder' in document.createElement('input'); ...

  2. 【bug】—— ios scroll 滚动穿透

    BUG描述 在 ios 微信浏览器或原生浏览器中,主内容容器.content在文档流内,并且overflow-y: scroll.在其之上有一个 fixed 定位的弹出层.popUp,滚动.popUp ...

  3. JavaScript基础总纲

    如果前人种好了树那我们干嘛不去享受阴凉,然后花费时间去为大树的成长进一份力. 我发现一个站点写的很全面写很系统,我总结主要分为一些几个模块: 一,JavaScript 教程(基础) 二,JavaScr ...

  4. 孩子们各显神通对付 iOS 12「屏幕使用时间」的限制

    简评:2018 年秋季,苹果公司推出了 iOS 12,其中备受好评的一项改变是:增加了屏幕使用时间限制,以减轻沉迷手机的状况.三个月过去后,这项功能似乎并没有对孩子造成太多困扰,道高一尺魔高一丈,孩子 ...

  5. [总结帖] 后端MVC V.S. 前端MVVM

    Web编年史: Web1.0 —— 静态页面.简单预处理语言草案:PHP.JSP.ASP Web2.0 —— 企业级架构.一站式解决方案(MVC):J2EE.Spring.Asp.net Web2.5 ...

  6. java开发注解大全

    目录 1.最基础注解(spring-context包下的org.springframework.stereotype) 1.1.@Controller @Service @Repository @Co ...

  7. ltp-ddt eth过程中遇到的问题

    eth_iperf_tcp ETH_S_PERF_IPERF_TCP_INTPACING_8K_1448B source 'common.sh'; iface=`get_eth_iface_name. ...

  8. python模块之 fabric

    Python模块之Fabric   Fabric简介 Fabric是一个Python库,可以通过SSH在多个host上批量执行任务.你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量 ...

  9. Zynq-7000 FreeRTOS(二)中断:Timer中断

    总结Zynq-7000 这款器件中的Timer定时器中断,为FreeRTOS中断做准备.在 ZYNQ 的纯 PS 里实现私有定时器中断. 每隔一秒中断一次, 在中断函数里计数加 1, 通过串口打印输出 ...

  10. CentOS 6.4下安装JIRA6.3.6破解汉化

    JIRA产品非常完善且功能强大,安装配置简单,多语言支持.界面十分友好,和其他系统如CVS.Subversion(SVN).VSS.LDAP.邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十 ...