1、limits of joins
The maximum number of tables that can be referenced in a single join is 61. This also applies to the number of tables that can be referenced in
the definition of a view.
2、表最多可以有多少
MySQL has no limit on the number of tables. The underlying file system may have a limit on the number of files that represent tables. Individual storage engines may impose
engine-specific constraints. InnoDB permits up to
4 billion tables.
3、表大小限制
The effective maximum table size for MySQL databases is usually determined by operating system constraints on file sizes, not by MySQL
internal limits.
The
InnoDB storage engine maintains
InnoDB tables within a tablespace that can be created from several files. This enables a table to exceed the maximum individual file size.
The tablespace can include raw disk partitions, which permits extremely large tables. The maximum tablespace size is
64TB
You are using a
MyISAM
table and the space required for the table exceeds what is permitted by the internal pointer size.
MyISAM
permits data and index files to grow up to 256TB by default, but this limit can be changed up to the maximum permissible size of 65,536TB (2567
– 1 bytes)
To change the default size limit for
MyISAM
tables, set the myisam_data_pointer_size, which sets the number of bytes used for internal row pointers. The value is used to set
the pointer size for new tables if you do not specify the
MAX_ROWS
option. The value of myisam_data_pointer_size
can be from 2 to 7. A value of 4 permits tables up to 4GB; a value of 6 permits tables up to 256TB.
You are using the
MEMORY
(HEAP) storage engine; in this case you need to increase the value of the max_heap_table_size
system variable.