Pomoć oko indeksiranja i particionisanja
29.05.2013. u 12:30 · pre 163 meseci
#1
Pozdrav svima.
Imam tabelu na MySQL 5.5:
Na koji nacin da kreiram indekse i da je particionisem, ako su upiti tipa:
cesto bude i
???
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
Imam tabelu na MySQL 5.5:
Code:
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;
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:
Code:
SELECT bla, bla FROM korisnici_log WHERE VrijemePristupa BETWEEN '2013-05-01' AND '2013-05-07' AND Korisnik=NekiID;
SELECT bla, bla FROM korisnici_log WHERE VrijemePristupa BETWEEN '2013-05-01' AND '2013-05-07' AND Korisnik=NekiID;
cesto bude i
Code:
...AND Aktivan=1 AND Status=NekiStatus;
...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