The bitmap index of the 1,oracle database (Bitmap index) is indeed for those fields that are sparse (low-cardinality, low cardinality), but one thing to keep in mind is that it is for fields whose values do not change frequently. In practical applications, if the value of a field needs to be updated frequently, it is not appropriate to create a bitmap index on it. In the bitmap index, if you update or insert a record with a value of N, then the records in the corresponding table with a value of N (possibly hundreds of thousands) are all locked by Oracle, which means that other users cannot update the records of N at the same time, other users have to wait for the first user to submit to get the lock, Update or INSERT data.
Http://blog.ccidnet.com/blog-htm-do-showone-uid-4092-itemid-291252-type-blog.html
In our system, not only do we create bitmap index on a column, but join together to create bitmap index on multiple column, so that we can imagine that almost equal to each bitmap index entry corresponds to a very small number of ROWID , that is, only a handful of rows, and each bitmap to create one or more bitmap segment, the DML operation may require frequent lock-lots, which affects concurrency (which also requires modifying the same bitmap entry users), and Because the storage parameters such as pctfree affect the allocation and management of the index space, and because the data operation causes the physical address change to modify the index entry, expand, Link Bitmap index entry, frequently modify the resulting disk fragments, block allocation links and so on. This is part of the reason for the decline in space growth and system performance.
Bitmap is mainly used for data warehouses, table has a large number of data and the base is very small (usually column distinct values accounted for 1% of the total rows, or more than 100 times repeated, Oracle recommends that this column be listed as the candidate field to create bitmap index at this time, and also because of the very small number of transactions that are accessed concurrently on the Data Warehouse. Bitmap index does not apply to OLTP business, and OLTP typically has a large number of concurrent transactions to modify the same data. Bitmap is primarily designed to serve the data warehouse, which is applied to the low cardinality super large data query service and is used only in the WHERE clause to contain and, or,not, or equality queries (for example, queries in and and or conditions, Before the bit is converted to ROWID, the corresponding Boolean operation can be obtained quickly.
http://bigboar.itpub.net/post/8411/225321
2, bitmap indexing occupies a large space. A 4.66 million-row table with only two fields occupies approximately 88M of space, and a bitmap index is built on the two fields, which takes up about 168M of space.
http://bigboar.itpub.net/post/8411/225321
To view the size of SQL for each table (including indexes):
Select segment_name,sum (bytes)/1024/1024 from User_extents Group by segment_name
http://space.itpub.net/193161/viewspace-50292
Http://www.ixdba.com/html/y2007/m05/102-bitmap-index-deadlock.html
3,oracle is strongly established that any one application's library table needs to create at least two tablespaces, one for storing table data and the other for storing table index data. Because table data and indexed data are put together, I/O operations of table data and I/O operations of indexes will have an I/O competition affecting system performance and reduce the system's response efficiency. This competition can be avoided by storing table and index data in different tablespaces (for example, one for App_Data, another for App_idx), and on a physical level, where the data files of the two tablespaces are placed on separate physical disks.
Having a separate table space means that you can independently provide separate physical storage parameters for both table and index data without interacting with each other, since table and index data have different characteristics that directly affect the setting of physical storage parameters.
In addition, table data and indexed data are stored separately, bringing data management and maintenance aspects. If you are migrating a business database, in order to reduce the size of the data, you can only move out of the table data table space, in the target database by rebuilding the index data can be generated.
Http://blog.ccidnet.com/blog-htm-do-showone-uid-19759-itemid-341747-type-blog.html
4,b-tree index is normal general index