PhpMyadmin Create Table
hawkmaster
- datenbank
Hallo zusammen,
Mir ist gerade aufgefallen das die neue PhpMyAdmin Version 4.2.2.1 bei einem Export einer MySQL Tabelle viel mehr SQL Code erstellt, als die alte Version.
So wird der Index in einer separaten SQL Syntax angegeben. Vor allem wundert es mich das auch für den AutoIncrement eine eigene SQL Syntax mit Modify gemacht wird.
Vorher war das alles in einem Befehl drin.
Eigentlich ist ja beides richtig oder?
Bringt es irgend welche Nachteile, wenn man die alte Syntax (also alles in einem Befehl) verwendet?
In phpmyadmin 3.5.2.2 wurde der Export einer Tabelle so erstellt.
CREATE TABLE IF NOT EXISTS `mytest` (
`mytestid` bigint(11) NOT NULL AUTO_INCREMENT,
`nameid` bigint(11) NOT NULL,
`myview` varchar(100) DEFAULT NULL,
`mycode` text,
PRIMARY KEY (`mytestid`),
KEY `idx_mytest_nameid` (`nameid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
In Phpmyadmin 4.2.2.1
CREATE TABLE IF NOT EXISTS `mytest` (
`mytestid` bigint(11) NOT NULL,
`nameid` bigint(11) NOT NULL,
`myview` varchar(100) DEFAULT NULL,
`mycode` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Indexes for table `mytest`
--
ALTER TABLE `mytest`
ADD PRIMARY KEY (`mytestid`), ADD KEY `idx_mytest_nameid` (`nameid`);
--
-- AUTO_INCREMENT for table `mytest`
--
ALTER TABLE `mytest`
MODIFY `mytestid` bigint(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1;
vielen Dank und viele Grüße
hawk
Ich weiß es nicht genau, aber:
Es ist beim Import großer Datenmengen sehr viel günstiger die Indexierung abgeschaltet zu haben. So ist es auch hier:
Tabelle anlegen,
Daten importieren,
indices anlegen und Daten einmal indizieren,
Inkrement festlegen.
Geht zumindest bei großen Datenmengen SEHR VIEL schneller als
Tabelle und indices, Autoinkrement festlegen,
Daten importieren bei jedem Datensatz indizieren,
Falls das beim Export ohne Daten auch so ist: Würdest Du als Programmierer völlig verschiedene Routinen schreiben? Sicher nicht. Beim Export der reinen Struktur werden also lediglich die Daten weggelassen.
Jörg Reinholz
Hallo Jörg,
vielen Dank für deine Info.
Ich verwende ab und zu solche Create Table Statements in SQL Update Scripts.
Mir ging es eigentlich nur darum, ob die alte Schreibweise weiterhin ok.
In meinem Fall sind es immer nur leere Tabellen ohne Daten.
vielen Dank und viele Grüße
hawk