Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / вычисления в бд / 6 сообщений из 6, страница 1 из 1
19.03.2008, 21:16
    #35201917
bad_touch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
Извините, за вопрос, который возможно не том топике, просто хотелось бы узнать есть ли какие-нибудь методы ускорения вычислений в бд, и какие субд для этого подходят лучше всего(желательно конечно из opensource, но можно также oracle, ну или db2, все что под юниксом идет), собственно пример:
допустим есть таблица:

|id|k1 | k2 | k3 | k4 |...
|1|12.1| 2.0| -1.23 | 123.22 |....
....
проще говоря в таблице хранятся значения типа float, можно ли как нибудь очень быстро сравнивать строки в данной таблице, например по среднеквадратичному отклонению? Если да, то как?
Заранее спасибо за любые полезные ответы! :)
...
Рейтинг: 0 / 0
20.03.2008, 00:07
    #35202084
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
если структуру таблицы несколько поменять - подойдёт практически любая СУБД
...
Рейтинг: 0 / 0
20.03.2008, 12:19
    #35203054
bad_touch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
А если не сложно, то можно пример, как лучше всего организовать таблицу?
БД пока что только в задумке, так что менять можно все что угодно...
...
Рейтинг: 0 / 0
20.03.2008, 13:40
    #35203366
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
ну например для MS SQL

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
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
...
Рейтинг: 0 / 0
20.03.2008, 14:01
    #35203438
ЮВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
bad_touch...можно ли как нибудь очень быстро сравнивать строки в данной таблице, например по среднеквадратичному отклонению? Если да, то как?

Можно добавить в таблицу столбец, который будет содержать характеристику строки (контрольная сумма данных, среднеквадратичное отклонение, дисперсия или что хотите).
Только надо не забывать корректировать это значение при изменении данных.
...
Рейтинг: 0 / 0
20.03.2008, 16:11
    #35204027
bad_touch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисления в бд
Спасибо за помощь! Появились идеи... :)
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / вычисления в бд / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]