Imam tabelu na MySQL 5.5:
CREATE TABLE `korisnici_log` (
`ID_korisnici_log` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`Korisnik` SMALLINT(5) UNSIGNED NOT NULL,
`VrijemePristupa` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`Tip` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
`Aktivan` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
`Status` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`ID_korisnici_log`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
Na koji nacin da kreiram indekse i da je particionisem, ako su upiti tipa:
SELECT bla, bla FROM korisnici_log WHERE VrijemePristupa BETWEEN '2013-05-01' AND '2013-05-07' AND Korisnik=NekiID;
cesto bude i
...AND Aktivan=1 AND Status=NekiStatus;
???
U tabelu dnevno ide oko 1 000 000 upisa, a korisnika ima oko 4000.
Kontao sam da particionisem kolonu VrijemePristupa sa PARTITION BY RANGE po mjesecima, jer cesto "cistim" tabelu po mjesec dana pa mi odgovara taj DROP PARTITION ili TRUNCATE PARTITION.
Hvala