devchaos Posted June 28, 2008 Posted June 28, 2008 Немного конечно не по теме форума но может кто поможет. Собсно есть таблица с такими столбцами day, ipsrc, srcport, ipdst, dstport, proto, packets, bytes Занисей в ней пару миллионов в день. В записях повторяются day, ipsrc, srcport, ipdst, dstport, proto с разным значением packets, bytes Нужно сделать выборку sum(packets), sum(bytes) для каждых порторяющихся значений day, ipsrc, srcport, ipdst, dstport, proto Для чего? Чтобы не хранить за каждый день миллионы записей а только те за день, где уникальные ipsrc, srcport, ipdst, dstport, proto Пишу так select day, ipsrc, srcport, ipdst, dstport, proto, sum(packets), sum(bytes) FROM `db` GROUP BY day, ipsrc, srcport, ipdst, dstport, proto В результате глючит не могу понять толи неправильно запрос сформулировал толи от количества записей в БД ее плющит. Как лучше сделать в таком случае выборку?
devchaos Posted June 29, 2008 Author Posted June 29, 2008 Да все было правильно ) Вот только БД тормозит отнюдь не слабый сервер при работе с миллионами записей.
deep_admin Posted June 29, 2008 Posted June 29, 2008 делайте эту выборку например раз в час, добавьте поле времени и индекс по этому полю
Колян Posted June 30, 2008 Posted June 30, 2008 Да все было правильно ) Вот только БД тормозит отнюдь не слабый сервер при работе с миллионами записей. Хард наверное слабоват, вот и тормозит, мускуль любит быстрые винты.
devchaos Posted June 30, 2008 Author Posted June 30, 2008 Винт Сигейт 11 серии NS ) Не такой уж и медленный
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now