informix之二
2015-09-14 20:33
176 查看
大数据量表查找 匹配索引避免全表扫描;
效率比较低的sql语句,set explain on查看执行计划,分析效率瓶颈(有没有利用索引);
对索引字段定期执行统计更新,给数据库的优化器提供准确的信息,提供正确的优化策略(经常插入删除的大表);
建立索引的时候,唯一值多的字段尽量防在前面,重复度高的字段(唯一值少)最好不建立索引;
使用聚集索引,使数据相对按照索引的顺序进行存放,用某些条件查询的时候,可以降低整个disk的IO次数,避免排序和分组操作;
程序使用过程中发现优化器指定的索引不理想,informix可以用指定索引的方式,让sql语句按照指定的索引执行;
索引建立的原则:
1.两个表关联,对关联字段建立索引;
2.where条件里面经常用到的条件字段;
3.order by排序的字段建立索引;
4.避免对重复度比较高的、唯一性不高的字段建立索引;
5.使用组合索引,降低索引的重复度;
6.建立多字段索引的时候,尽量把唯一性高的字段放在前面,唯一性低的字段放在后面;
7.控制表索引的个数,索引过多影响插入删除更新速度;
8.使用聚集索引提高查询速度;
9.数字类型的字段要比其他类型字段的查找速度要快;
有些地方使用存储过程:
1.经常反复执行的sql语句,减少交互数据量,提高性能;
prepare:
sql语句在循环里面执行100次以上,sql语句避免使用静态sql,使用prepare,只编译一次。注意:prepare不要放在循环里面。
informix设置数据分布:指定表在片上的分布;
批量处理 pdq
索引的level 大于4层考虑重建索引
裸表 没有日志的表 大数据量insert操作有好处 裸表没有事物
分片技术和pdq 大数据量表的分片 临时建立索引使用pdq
效率比较低的sql语句,set explain on查看执行计划,分析效率瓶颈(有没有利用索引);
对索引字段定期执行统计更新,给数据库的优化器提供准确的信息,提供正确的优化策略(经常插入删除的大表);
建立索引的时候,唯一值多的字段尽量防在前面,重复度高的字段(唯一值少)最好不建立索引;
使用聚集索引,使数据相对按照索引的顺序进行存放,用某些条件查询的时候,可以降低整个disk的IO次数,避免排序和分组操作;
程序使用过程中发现优化器指定的索引不理想,informix可以用指定索引的方式,让sql语句按照指定的索引执行;
索引建立的原则:
1.两个表关联,对关联字段建立索引;
2.where条件里面经常用到的条件字段;
3.order by排序的字段建立索引;
4.避免对重复度比较高的、唯一性不高的字段建立索引;
5.使用组合索引,降低索引的重复度;
6.建立多字段索引的时候,尽量把唯一性高的字段放在前面,唯一性低的字段放在后面;
7.控制表索引的个数,索引过多影响插入删除更新速度;
8.使用聚集索引提高查询速度;
9.数字类型的字段要比其他类型字段的查找速度要快;
有些地方使用存储过程:
1.经常反复执行的sql语句,减少交互数据量,提高性能;
prepare:
sql语句在循环里面执行100次以上,sql语句避免使用静态sql,使用prepare,只编译一次。注意:prepare不要放在循环里面。
informix设置数据分布:指定表在片上的分布;
批量处理 pdq
索引的level 大于4层考虑重建索引
裸表 没有日志的表 大数据量insert操作有好处 裸表没有事物
分片技术和pdq 大数据量表的分片 临时建立索引使用pdq
相关文章推荐
- 批处理
- malloc/free 与new/delete对比
- Android Fragment 真正的完全解析(下)
- python学习——fnmatch
- 【读书笔记】iOS-内存管理
- hdu 3037 Saving Beans(lucas定理)(卢卡斯定理)
- 模板方法模式(Template Method)
- JSON数据提取的基本方法-2015年9月14日
- ionic
- 【读书笔记】iOS-内存管理
- HDU 1950 Bridging signals ( 枚举+DFS O(n2^n) )
- JavaScript获取iframe的内容
- informix之一
- MyEclipse不能编译的解决方案
- dfs与bfs
- Oracle数据库安装成功后,忘记解锁账户和设置密码
- python核心编程第4章课后题答案(第二版75页)
- 排序算法之归并排序
- Android Fragment 真正的完全解析(上)
- MySql中创建存储过程