解决方案 »
- 两个Activity传递Intent问题?求助!
- java web 程序员能走多远??? 该向哪方面发展???请高人指点
- web页面带大量数据跳转
- 周日各位大侠还在吗?来帮个忙,关于页面缓存问题的;(在线求解)
- 有谁有EXTJS+STRUTS+HIBERNATE的例子??
- 某公司的一道笔试题 求解
- 请问下能不能将java对象直接存成2进制文件?在线等中
- linux 下的oracleAS 启动问题
- 请问使用session Bean或者说EJB的好处和可能引起的一些不好的地方?
- 问一个ant的问题,关于命令行参数
- dwr中的allowScriptTagRemoting是什么意思?
- 如何使用java生成datasource
1. 业务级别的索引 1
2. 创建索引可以大大提高系统的性能。 1
3. 索引的实现 2
3.1. 通常使用B树及其变种B+树。(需要排序) 2
3.2. 使用hash 2
4. 业务索引的存储 2
5. 索引的实现方式优化 2
5.1. 增量索引 2
6. 增加索引也有许多不利的方面。 21.业务级别的索引大数据量统计下的统计非常慢。缓存可以部分解决这个问题,也可以缓解这个问题,但是缓存往往不能实时查询。多级关联查询也比较麻烦。。解决思路,就是仿照数据库,建立业务级别的索引。。默认数据库只能建立列的索引,,只有oracle支持函数索引,mysql ,mssql都不支持函数索引
至于业务索引,只能自己实现了。。
2.创建索引可以大大提高系统的性能。
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 3.索引的实现
3.1.通常使用B树及其变种B+树。(需要排序)
3.2.使用hash4.业务索引的存储
可以使用表来存储Oracle可以建立函数索引,,但业务索引需要使用编程语言代码来计算结果,最后把结果存储到索引里面,建立专门的索引存储表5.索引的实现方式优化
5.1.增量索引
6. 增加索引也有许多不利的方面。
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。