Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
MySQL question ...InnoDB?
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Plusnet Community
- :
- Forum
- :
- Help with my Plusnet services
- :
- Everything else
- :
- MySQL question ...InnoDB?
MySQL question ...InnoDB?
21-08-2008 8:47 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
So anyway I'm reading this book on SQL and it puts a lot of emphasis on Foriegn keys and referential integrity.
As I understand it Plusnet's MySQL service uses the MyISAM engine, which doesn't support foriegn keys.
I recall the question of installing InnoDB being raised four years ago...
Looking at the admin page it shows a list of database engines including InnoDB, and it appears possible to alter a table to use InnoDB instead of MyISAM.
Is this official?
As I understand it Plusnet's MySQL service uses the MyISAM engine, which doesn't support foriegn keys.
I recall the question of installing InnoDB being raised four years ago...
Looking at the admin page it shows a list of database engines including InnoDB, and it appears possible to alter a table to use InnoDB instead of MyISAM.
Is this official?
Message 1 of 7
(1,433 Views)
6 REPLIES 6
Re: MySQL question ...InnoDB?
22-08-2008 12:59 AM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
Hello There,
You can create Tableds to be stored in various methods.
It is partof the Specification that the MySQL Server has to know to create the Table in the first Place.
But yes you can chaneg the Type of Table as you so chose.
Hell... you can even create a Temporary Table that is only stored in Memory if you really wanted to store temporary stuff.
When you create a Tabel you can specify which method it's stored by: ISAM, MyISAM, InnoDB, CSV, HEAP, Memory etc...
I assume it will convert without hitch but there is always the possibility of somethign going wrong.
Hit this in your browser: http://mysql.plus.net/ to get to PHPMyAdmin to do it.
That or better to use MySQL Administrator (Free) and Login with your MySQL Details inorder to maintain your Tables as you wish.
Hope that helps.
Jim,
You can create Tableds to be stored in various methods.
It is partof the Specification that the MySQL Server has to know to create the Table in the first Place.
But yes you can chaneg the Type of Table as you so chose.
Hell... you can even create a Temporary Table that is only stored in Memory if you really wanted to store temporary stuff.
When you create a Tabel you can specify which method it's stored by: ISAM, MyISAM, InnoDB, CSV, HEAP, Memory etc...
I assume it will convert without hitch but there is always the possibility of somethign going wrong.
Hit this in your browser: http://mysql.plus.net/ to get to PHPMyAdmin to do it.
That or better to use MySQL Administrator (Free) and Login with your MySQL Details inorder to maintain your Tables as you wish.
Hope that helps.
Jim,
Message 2 of 7
(344 Views)
Re: MySQL question ...InnoDB?
22-08-2008 1:37 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
I'm a bit confused because of this:
http://community.plus.net/forum/index.php/topic,44632.0.htmlThere were several questions in the years 2003 to 2005 and the standard answer was something along the lines of "We don't install InnoDB because bad things could happen if we do" though I'm not clear about the details.
Anyway thanks for the advice, I'm wondering what is meant by a memory or heap table, are they aliases for the same thing, and would that be a sensible way to store ... say ... session data, which is important in the short term, but discarded once the session ends. I'm presuming that a memory table would be discarded if the server was restarted.
http://community.plus.net/forum/index.php/topic,44632.0.htmlThere were several questions in the years 2003 to 2005 and the standard answer was something along the lines of "We don't install InnoDB because bad things could happen if we do" though I'm not clear about the details.
Anyway thanks for the advice, I'm wondering what is meant by a memory or heap table, are they aliases for the same thing, and would that be a sensible way to store ... say ... session data, which is important in the short term, but discarded once the session ends. I'm presuming that a memory table would be discarded if the server was restarted.
Message 3 of 7
(344 Views)
Re: MySQL question ...InnoDB?
22-08-2008 3:23 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
InnoDB is now supported on our mysql servers, use ENGINE=InnoDB in your creation statement. What Phil said about the data all being in one place was true until recently when we changed our mysql configuration to use a file for each InnoDB table, and imported any innodb tables to use this type of storage.
You're bang on about tables in memory being discarded if the server is restarted. Temporary tables (made with CREATE TEMPORARY TABLE ...) only last for the session, so as soon as you log out (or your script disconnects) the table is discarded.
[Moderator's note by Barry Zubel: Quote of previous post removed as per the link:rules]
You're bang on about tables in memory being discarded if the server is restarted. Temporary tables (made with CREATE TEMPORARY TABLE ...) only last for the session, so as soon as you log out (or your script disconnects) the table is discarded.
[Moderator's note by Barry Zubel: Quote of previous post removed as per the link:rules]
Message 4 of 7
(344 Views)
Re: MySQL question ...InnoDB?
22-08-2008 3:28 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
Temporary tables are great - I often use them to update a table where records have been selected from an inner join on the same table - MySQL doesn't like this but inserting the PK's into a temporary table, then using an update statement selecting the ID's back from a temporary table works perfectly.
And the temporary table is dropped as soon as the statement finishes executing.
I guess you mean the innodb_file_per_table statement Ben - one of the best changes that the InnoDB backend received IMO.
B.
And the temporary table is dropped as soon as the statement finishes executing.
I guess you mean the innodb_file_per_table statement Ben - one of the best changes that the InnoDB backend received IMO.
B.
Message 5 of 7
(344 Views)
Re: MySQL question ...InnoDB?
22-08-2008 3:41 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
Yeah that's exactly it. You may have noticed a few months ago there were a couple of planned early morning outages on rumpus and humbug, that was what we were doing.
Message 6 of 7
(344 Views)
Re: MySQL question ...InnoDB?
22-08-2008 8:12 PM
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Report to Moderator
Thanks, in the longer term I'm unlikely to actually need foriegn key support for real, but right now I'm looking at examples in "SQL Demystified" which seems to assume foriegn key support. Anyway "Engine=InnoDB" works great once I found all the occurances of "CREATE TABLE" in the sample file.
Their sample file threw a LOT of syntax errors, turns out MySQL seems to be picky about comments, which must be two hyphens followed by a space.
I'm not even sure how much SQL I really need to learn, since presumably any CGI scripts I write will interact with the database through an interface module, and not by cranking out SQL code directly. Then again I'll need to get the hang of tables and data types.
Their sample file threw a LOT of syntax errors, turns out MySQL seems to be picky about comments, which must be two hyphens followed by a space.
I'm not even sure how much SQL I really need to learn, since presumably any CGI scripts I write will interact with the database through an interface module, and not by cranking out SQL code directly. Then again I'll need to get the hang of tables and data types.
Message 7 of 7
(344 Views)
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Plusnet Community
- :
- Forum
- :
- Help with my Plusnet services
- :
- Everything else
- :
- MySQL question ...InnoDB?