当前位置:网站首页>Tips for using dm8huge table

Tips for using dm8huge table

2022-07-06 03:54:00 Song Xiaorong

HUGE A table is a columnar storage table , Stored in a specific HUGE Tablespace . Ordinary table spaces , Data is passed through segments 、 cluster 、 Page to manage , And in a fixed size (4K、8K、16K、32K) The page of is management unit ; and HUGE Tablespace is through HFS Storage mechanism , It is equivalent to a file system . Create a HUGE Table and insert data , The database will be in the specified HTS Create a series of directories and files under the table space directory .

The following figure shows the different storage methods of the same table data in row storage table and column storage table .

Row storage diagram                                 Column storage diagram

HUGE The storage method of tables has the following advantages :

① Data in the same column is stored continuously , It can speed up the data query of a certain column ;

② Continuously stored column data , It has larger compression unit and data similarity , The compression efficiency is much better than that of row storage , The unit of compression is area ;

③ Conditional scanning is used to accurately filter the statistical information of the data area , Can further reduce IO, Improve scanning efficiency ;

④ Allow secondary indexing ;

⑤ Support with ALTERTABLE Add or delete PK and UNIQUE constraint .

HUGE Table classification

Non transactional HUGE surface

Non transactional HUGE The increase of the table 、 Delete 、 Change it directly to HUGE Table for write operations , Don't write UNDO journal , Directly manipulate files , Fast , Concurrency performance is not high , But it also leads to unsupported transactions . When non transactional HUGE When the table has problems such as system crash or power failure during operation , Because the strategy of writing directly is adopted when modifying , Therefore, data inconsistency may occur .

transactional HUGE surface

transactional HUGE surface , By increasing the RAUX、DAUX and UAUX Row auxiliary table , Reduced transactional HUGE Table addition 、 Delete 、 The operation of IO, Increase of efficiency , At the same time, improve the parallel performance . transactional HUGE Table support UNDO journal , Implements transaction characteristics .

HUGE Table creation

Create transactional HUGE surface , The database is created by default

HUGE The table specifies an ordinary table space to store errors

HUGE Table not specified HUGE Table space , The default is HMAIN Table space .

It should be noted that , When specifying the creation of transactional HUGE Table time , Appoint HUGE Table options for image file scheme LOGNONE|LOG LAST|LOG ALL invalid .

Create non transactional HUGE surface

You need to change the parameter HUGE_WITH_DELTA It is amended as follows 0, Otherwise, it is not supported to create non transactional HUGE surface .

Successfully created HUGE A directory will be generated after the table , The directory name is SCH+ The length is 9 Of ID A string composed of numbers .

Inquire about HUGE surface

When querying a single column , The database performance has been significantly improved .

Use HUGE You should pay attention to the following limitations when using the table

1. build HUGE Table only supports definition NULL、NOTNULL、UNIQUE Constraints and PRIMARYKEY, The latter two constraints can also be passed ALTERTABLE The way to add , But these two constraints do not check uniqueness ;

2.HUGE Clustered indexes are not allowed , Allow secondary indexing , Bitmap indexing is not supported , among UNIQUE The index does not check for uniqueness ;

3. I won't support it SPACELIMIT( Space restriction );

4. Full text indexing is not supported ;

5. Custom types are not supported ;

6. Reference constraints are not supported ;

7. I won't support it IDENTITY On the column ;

8. Large field columns are not supported ;

9. Trigger creation is not supported ;

10. Cursor modification is not supported ;

11.PK and UNIQUE Constraints do not check uniqueness , The corresponding indexes are virtual indexes ;UNIQUE The index does not check for uniqueness , Is a real index , The index tag does not contain a uniqueness tag , That is, it is the same as the ordinary secondary index ;

12. It is not allowed to set SECTION and WITH/WITHOUTDELTA;

13. When transactional HUGE When more additions, deletions and modifications are made to the table , The data shall be reorganized , To improve performance .

原网站

版权声明
本文为[Song Xiaorong]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202132259039232.html