位图索引的适用场合
1.位图索引是Oracle数据库在7.3版本中加入的,8i,9i企业版和个人版支持,标准版不支持.2.基于规则的优化器无法使用Bitmap索引3.适应于有大量重复值的列查询4.对于8i,9i版本,不适用于单行插入,适用于批量插入的数据,因为单行插入时,相同键值,每插入8行就会生成一行索引块中的位图段,即使相同的值.而批量插入时,相同键值只生成一个位图段.5.由于并发DML操作锁定的是整个位图段的大量数据行,所以位图索引主要是用于OLAP应用,也可以用于OLTP中主要为读操作的表.关于bitmap的两个参数SQL》 show parameter bitmap;NAME TYPE VALUE------------------------------------ ----------- ------------------------------bitmap_merge_area_size integer 1048576create_bitmap_area_size integer 8388608其中bitmap_merge_area_size是bitmap索引进行合并操作时使用的内存区域,create_bitmap_area_size是创建时使用的内存区域.8i,9i中,需要根据bitmap的大小以及常见的使用情况来调整.9i以上,只需设置pga_aggregate_target的值,Oracle即会自动进和内存的调整.
索引超出了数组界限
1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。
2、第11次是抛出了数据越界的错误:java.lang.ArrayIndexOutOfBoundsException。
3、将程序修改一下,保证程序不会非法的运行到第11次,获取数组的长度Array.length;当我们从数组取数时控制在这个长度范围内进行。
4、通过修改,程序得到正确执行。