When you create an EXAMPLE table, the server creates a table format file in the database directory. The file begins with the table name and has an .frm extension. No other files are created. No data can be stored into the table. Retrievals return an empty result.
Category Archives: My SQL
BDB Storage Engine
Note that as of MySQL 5.1, its not supported .
MEMORY Storage Engine
As indicated by the engine name, MEMORY tables are stored in memory. They use hash indexes by default, which makes them very fast, and very useful for creating temporary tables. However, when the server shuts down, all rows stored in MEMORY tables are lost. The tables themselves continue to exist because their definitions are stored in .frm files on disk, but they are empty when the server restarts.
MEMORY tables can have up to 64 indexes per table
MEMORY tables can have up to 16 columns per index
MEMORY tables can have maximum key length of 3072 bytes.
Space for MEMORY tables is allocated in small blocks. Tables use 100% dynamic hashing for inserts.
The MEMORY storage engine supports both HASH and BTREE indexes. You can specify one or the other for a given index by adding a USING clause
MEMORY tables can have nonunique keys.
Columns that are indexed can contain NULL values.
MEMORY tables use a fixed-length row-storage format. Variable-length types such as VARCHAR are stored using a fixed length.
MEMORY tables cannot contain BLOB or TEXT columns.
MEMORY includes support for AUTO_INCREMENT columns.
The server needs sufficient memory to maintain all MEMORY tables that are in use at the same time.
MERGE Storage Engine
Use of DROP TABLE with a MERGE table drops only the MERGE specification. The underlying tables are not affected.
We can create MERGE table using the option UNION={list-of-tables} that indicates which MyISAM tables to use. You can optionally specify an INSERT_METHOD option to control how inserts into the MERGE table take place. Use a value of FIRST or LAST to cause inserts to be made in the first or last underlying table, respectively. If you specify no INSERT_METHOD option or if you specify it with a value of NO, inserts into the MERGE table are not permitted and attempts to do so result in an error.
Example
CREATE TABLE blog ( id INT NOT NULL AUTO_INCREMENT, comment CHAR(50), INDEX(id)) ENGINE=MERGE UNION=(blog1,blog2) INSERT_METHOD=LAST;
Here blog1,blog2 should have identical column and index information .
InnoDB Storage Engine
InnoDB is used in production at numerous large database sites requiring high performance.
list storage engines – mysql
MyISAM Storage Engine
Storage engine should be mentioned when we careate tables
CREATE TABLE table (no INT) ENGINE = MYISAM;
Normally, it is unnecessary to use ENGINE to specify the MyISAM storage engine. MyISAM is the default engine unless the default has been changed. To ensure that MyISAM is used in situations where the default might have been changed, include the ENGINE option explicitly.
You can check or repair MyISAM tables with the mysqlcheck client or myisamchk utility.
All data values are stored with the low byte first. This makes the data machine and operating system independent.
All numeric key values are stored with the high byte first to permit better index compression.
Large files (up to 63-bit file length) are supported on file systems and operating systems that support large files.
There is a limit of 232 rows in a MyISAM table. If you build MySQL with the
The maximum number of indexes per MyISAM table is 64.
The maximum number of columns per index is 16.
The maximum key length is 1000 bytes.
When rows are inserted in sorted order ,the index tree is split so that the high node only contains one key. This improves space utilization in the index tree.
MyISAM supports concurrent inserts:
You can put the data file and index file in different directories on different physical devices
BLOB and TEXT columns can be indexed.
NULL values are permitted in indexed columns.
There is a flag in the MyISAM index file that indicates whether the table was closed correctly.
The sum of the lengths of the VARCHAR and CHAR columns in a table may be up to 64KB.
Storage Engines
Column ‘ID’ in field list is ambiguous
it is just because you have 2 tables with both a field ID, so the database engine will get confused about the table name from which the the data to be fixed
Use table1.id, or table2.id, based on the table you want the data