[vz-dev] Letzten aktuellen Leitungswert einer uuid auslesen
Sven Peitz
sven.peitz at gmx.net
Thu Nov 15 08:59:25 CET 2012
Hallo
so hier mal die aktuellen Daten
CREATE TABLE `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`channel_id` int(11) DEFAULT NULL,
`timestamp` bigint(20) NOT NULL,
`value` double NOT NULL,
PRIMARY KEY (`id`),
KEY `data_channel_id_idx` (`channel_id`),
CONSTRAINT `data_ibfk_1` FOREIGN KEY (`channel_id`) REFERENCES
`entities` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9394957 DEFAULT CHARSET=latin1
jetzt habe ich nach Datensicherung versteht sich ein
ALTER TABLE data ADD UNIQUE KEY `chan_ts_idx`
(`channel_id`,`timestamp`), DROP KEY `data_channel_id_idx`;
gemacht und bekam folgendes
#1062 - Duplicate entry '10-0' for key 'chan_ts_idx'
Da es auch mit UNIQUE auch nicht ging habe ich jetzt fogendes gemacht:
ALTER TABLE data ADD KEY `chan_ts_idx` (`channel_id`,`timestamp`)
Das lief durch und es brachte eine deutliche Performance Steigerung.
Vielen Dank dafür
Show Data zeigt jetzt:
CREATE TABLE `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`channel_id` int(11) DEFAULT NULL,
`timestamp` bigint(20) NOT NULL,
`value` double NOT NULL,
PRIMARY KEY (`id`),
KEY `data_channel_id_idx` (`channel_id`),
KEY `chan_ts_idx` (`channel_id`,`timestamp`),
CONSTRAINT `data_ibfk_1` FOREIGN KEY (`channel_id`) REFERENCES
`entities` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9395158 DEFAULT CHARSET=latin1
nach einem ALTER TABLE data DROP KEY `data_channel_id_idx`;
jetzt so:
CREATE TABLE `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`channel_id` int(11) DEFAULT NULL,
`timestamp` bigint(20) NOT NULL,
`value` double NOT NULL,
PRIMARY KEY (`id`),
KEY `chan_ts_idx` (`channel_id`,`timestamp`),
CONSTRAINT `data_ibfk_1` FOREIGN KEY (`channel_id`) REFERENCES
`entities` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9395186 DEFAULT CHARSET=latin1
Ich hoffe das ist korrekt so...
Die Abfrage der Datenbank mit curl
Leistung: 334
Limit: 68
real 0m0.703s
user 0m0.044s
sys 0m0.020s
und mit der wget Methode von Klaus
Leistung: 333
Limit: 69
real 0m0.689s
user 0m0.008s
sys 0m0.020s
Viele Wege zum Ziel.
Danke Euch allen nochmals für die Hilfe
Gruß
Sven
Am Donnerstag, den 15.11.2012, 00:14 +0100 schrieb Jakob Hirsch:
> ALTER TABLE data ADD UNIQUE KEY `chan_ts_idx`
> (`channel_id`,`timestamp`);
More information about the volkszaehler-dev
mailing list