[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