Bug #77092 Document potential benefits of InnoDB General Tablespaces
Submitted: 19 May 2015 12:16 Modified: 10 Jun 2015 17:28
Reporter: Daniel Price Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.6 OS:Any
Assigned to: CPU Architecture:Any

[19 May 2015 12:16] Daniel Price
Description:
InnoDB Documentation does not include potential benefits of using  general tablespaces with InnoDB.

I Compiled following two main categories - please suggest any correction or if some category is missing:
1. Flexibility in data file management (including free space management)
2. Friendly opportunity to bind particular tables to particular disks:
2.1 Performance management (e.g. to manage performance of critical tables).
2.2 Durability management (i.e. dba may want to setup RAID or DRBD for the most critical tables - so data is not lost on hardware failure). 
2.3 Memory management. While MySQL 5.6 introduced InnoDB table metadata eviction, there is nothing similar for tablespace metadata. In other words, if you have a large number of tablespaces (such as file_per_table tablespaces), the server will keep a fil_space_t and fil_node_t object in the InnoDB fil_system cache for the whole server lifetime, until the tablespace is dropped. If you have multiple tables in fewer (shared) tablespaces, less memory will be wasted for the metadata. 

How to repeat:
Read Docs.

Suggested fix:
Update general tablespace docs in 5.7 reference manual.
[19 May 2015 12:44] Daniel Price
Drawbacks:

* You cannot reclaim disk space for the operating system when dropping a table from a general tablespace.
* You cannot IMPORT/EXPORT a general tablespace or a table in general tablespace.
[10 Jun 2015 17:28] Daniel Price
Posted by developer:
 
General tablespace content has been updated to cover advantages:

https://dev.mysql.com/doc/refman/5.7/en/create-tablespace.html
[16 Jun 2015 12:41] Daniel Price
Posted by developer:
 
Correction: The documentation changes were made to this page:
https://dev.mysql.com/doc/refman/5.7/en/general-tablespaces.html

The changes should appear within in 24 hours.