位图索引的适用场合
1.Oracle数据库7.3版本增加了位图索引,8i、9i企业版和个人版支持,标准版不支持。
2.基于规则的优化程序无法使用位图索引。
3.适用于有大量重复值的列查询。
4.对于8i、9i版,不适用于单行插入,而是适用于批量插入的数据,
因为当插入一行时,相同的键值,每插入8行就会在一个索引块中生成一个位图段,即使是相同的值。
成批插入时,仅生成一个具有相同键值的位图段。
5.由于并发DML操作锁定了整个位图段中的大量数据行,因此位图索引主要用于OLAP应用中,也可以用于以读操作为主的OLTP表中。
位图的两个参数
SQL显示参数位图;
名称类型值
- - -
bitmap_merge_area_size整数1048576
创建位图区域大小整数8388608
其中bitmap_merge_area_size是合并位图索引时使用的内存区域,create_bitmap_area_size是创建位图索引时使用的内存区域。
在I,9i中,需要根据位图大小和常用用法进行调整。
9i以上,只需设置pga_aggregate_target的值,Oracle会自动调整内存。
mysql 有没有位图索引
什么都没有。目前我们大量使用的索引一般是B *树索引,索引结构中存储了键值和键值的RowID,并且有一个库叫做mysql-python,一一对应。
也可以在odbc模式下使用pyodbc。
Mysql似乎还不支持位图索引。
评论(0)