Ja ir daudz un mazi faili, tas ir ticams. Ātrāks procis un vairāk RAM varētu palīdzēt. Vēl pasties, vai tiešām viss tur iet uz sata 6gbps nevis 3gbps. Un vēl. Ja lasa un raksta uz tā paša diska, tad ātrums kritītas dramatiskāk par divām reizēm.
0.33, izvācot group by no subkverija.
SELECT SUM(uniq) FROM (
SELECT SQL_NO_CACHE
COUNT(DISTINCT t1.`cid`) as uniq
FROM
`thread_stats` t1
WHERE
t1.dt = '2013-12-15' AND t1.cid NOT IN (SELECT DISTINCT cid FROM `thread_stats` t2 WHERE dt != '2013-12-15')
GROUP BY
t1.cid
) as ss;
OK, tas momentā ir ~0.759sec ar cold cache :D. Laikam padaudz. Atkārtoti 0.0004 sec.
Tava versija ~1.4sec.
Dzelzis: 2.2Ghz Opteron 2427
Percona 5.1
SELECT SUM(uniq) FROM (
SELECT
COUNT(DISTINCT t1.`cid`) as uniq
FROM
`thread_stats` t1
WHERE
t1.dt = '2013-12-15' AND t1.cid NOT IN (SELECT cid FROM `thread_stats` t2 WHERE dt != '2013-12-15' GROUP BY t2.cid)
GROUP BY
t1.cid
) as ss;
Es atdalīju to date atsevišķā kolonnā un index uz (dt,cid)
Dīvaini tur tie dati. Man sanāk, ka unikāli ir faktiski visi un datums ir tikai viens. Atkārtojas tikai kādi 115 cid un visi divreiz. Izpildās momentā.
Nekas nav jāmigrē. Vnk noinstallē mysql un uzstāda percona. Der tie paši konfigi. Vienīgi, es nezinu par pārslēgšanu pa tiešo no dažādām versijām, piemēram, 5.1 pa taisno uz 5.5 :D
Noņem mysql, uzliek percona. Strādā out-of-the box ar tiem pašiem binārajiem datiem. % neesmu mērījis, ātrdarbības uzlabojumi bija, bet kādi - neatceros. Baisi sen jau nomigrēju.