Langsames Insert, Optimierung

2006-09-26 Thread malinux
Hallo Group,
ich lese im Moment ein XML aus und möchte es in eine Datenbank schreiben.
Nun folgendes, ich lese und generiere die Inserts via PHP, und füge diese in ein
Array ein.
Nachdem das Auslesen fertig ist will ich das Array in die Datenbank schreiben:

CREATE TABLE `result` (
  `uID` varchar(7) collate latin1_german1_ci NOT NULL,
  `cID` smallint(3) NOT NULL default '0',
  `sID` smallint(3) NOT NULL default '0',
  `matchday` smallint(2) NOT NULL default '0',
  `matchperiod` varchar(15) collate latin1_german1_ci default NULL,
  `date` datetime default NULL,
  `stattype` varchar(10) collate latin1_german1_ci default NULL,
  `stattypedata` varchar(35) collate latin1_german1_ci default NULL,
  `awayscore` smallint(2) NOT NULL default '0',
  `awayside` varchar(10) collate latin1_german1_ci NOT NULL,
  `awayteamref` varchar(10) collate latin1_german1_ci NOT NULL,
  `homescore` smallint(2) NOT NULL default '0',
  `homeside` varchar(10) collate latin1_german1_ci NOT NULL,
  `hometeamref` varchar(10) collate latin1_german1_ci NOT NULL,
  PRIMARY KEY  (`uID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci
COMMENT='Results';

Datensatz:
INSERT INTO `opt_result` (`uID`, `cID`, `sID`, `matchday`, `matchperiod`,
`date`, `stattype`, `stattypedata`, `awayscore`, `awayside`, `awayteamref`,
`homescore`, `homeside`, `hometeamref`) VALUES
('g46282', 87, 7, 1, 'FullTime', '2006-08-13 13:00:00', 'Venue', 'MSV-Arena', 1,
'Away', 't2012', 2, 'Home', 't751')


Problem ist aber dass es 300 Datensätze sind und mein MySQL 5.0.18 brauch für
jeden Datensatz 0.05 - 0.08 Sekunden, also komme ich auf eine Gesamtzeit von
~15 Sekunden.
Diese Zeit muss verringert werden ~ 3 Sekunden wären noch akzeptabel.
Idee o. MySQL Optimierungen?

MfG



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Langsames Insert, Optimierung

2006-09-26 Thread malinux
Hallo,
das hat schon geholfen, mir war bis dato noch nicht bewusst gewesen dass die
Unterschiede so gewaltig sind. Gibts noch andere Möglichkeiten.
- Vom Scripting her ist das nicht unbedingt optimal
- Wie viele Zeilen können es maximal sein o. sollten es sein?

MfG

Zitat von Dominik Klein [EMAIL PROTECTED]:

  Diese Zeit muss verringert werden ~ 3 Sekunden wären noch akzeptabel.
  Idee o. MySQL Optimierungen?

 Du kannst versuchen, alle Zeilen in einem Statement einzufügen.

 also so etwa:
 insert into test values (1),(2),(3),...,(n);




-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]