Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 вычисления в бд  [new]
bad_touch
Member

Откуда: Ханты-Мансийск
Сообщений: 19
Извините, за вопрос, который возможно не том топике, просто хотелось бы узнать есть ли какие-нибудь методы ускорения вычислений в бд, и какие субд для этого подходят лучше всего(желательно конечно из opensource, но можно также oracle, ну или db2, все что под юниксом идет), собственно пример:
допустим есть таблица:

|id|k1 | k2 | k3 | k4 |...
|1|12.1| 2.0| -1.23 | 123.22 |....
....
проще говоря в таблице хранятся значения типа float, можно ли как нибудь очень быстро сравнивать строки в данной таблице, например по среднеквадратичному отклонению? Если да, то как?
Заранее спасибо за любые полезные ответы! :)
19 мар 08, 21:16    [5433024]     Ответить | Цитировать Сообщить модератору
 Re: вычисления в бд  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
если структуру таблицы несколько поменять - подойдёт практически любая СУБД
20 мар 08, 00:07    [5433364]     Ответить | Цитировать Сообщить модератору
 Re: вычисления в бд  [new]
bad_touch
Member

Откуда: Ханты-Мансийск
Сообщений: 19
А если не сложно, то можно пример, как лучше всего организовать таблицу?
БД пока что только в задумке, так что менять можно все что угодно...
20 мар 08, 12:19    [5435300]     Ответить | Цитировать Сообщить модератору
 Re: вычисления в бд  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
ну например для MS SQL

create table #t(id int, k int, what dec(19,6)) -- # означает временную таблицу
go
insert #t select 1, 1, 12.1 union  select 1, 2, 2.0 union  select 1, 3, -1.23  union  select 1, 4, 123.22
   union  select 2, 1, 100

go

-- сам запрос
select t.id, ss.sr, sqrt(  sum(SQUARE (ss.sr-t.what)))
  from (select id, avg(what) sr from #t group by id) ss
  join #t t on t.id=ss.id
  group by t.id, ss.sr

go 
drop table #t


Сообщение было отредактировано: 20 мар 08, 13:42
20 мар 08, 13:40    [5436038]     Ответить | Цитировать Сообщить модератору
 Re: вычисления в бд  [new]
ЮВ
Member

Откуда:
Сообщений: 508
bad_touch
...можно ли как нибудь очень быстро сравнивать строки в данной таблице, например по среднеквадратичному отклонению? Если да, то как?

Можно добавить в таблицу столбец, который будет содержать характеристику строки (контрольная сумма данных, среднеквадратичное отклонение, дисперсия или что хотите).
Только надо не забывать корректировать это значение при изменении данных.
20 мар 08, 14:01    [5436242]     Ответить | Цитировать Сообщить модератору
 Re: вычисления в бд  [new]
bad_touch
Member

Откуда: Ханты-Мансийск
Сообщений: 19
Спасибо за помощь! Появились идеи... :)
20 мар 08, 16:11    [5437471]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить