Нашел довольно обширный список программного обеспечения, кроме таких монстров и гигантов программного обеспечения по статистическим метода обработки данных как Statistica, Matlab, SPSS, SAS, Minitab, Statgraphics и др. на сайте приведены бесплатыне и условнобесплатные пакеты:
Список бесплатных программ по статистике
еще один
Список бесплатных программ для статистики
Archive for: Май, 2010
Список беслпатного программного обеспечения по статистике
Увеличиваем скорость получения результата для DISTINCT запроса
Достаточно интересное решение я нашел в интеренете, которое позволяет увеличить производительность получения результата уникальных значений в таблице. Найденное решение использовалось в частности при работе с SQLite JDBC драйвером.
SELECT DISTINCT GroupID from Jobs
Используем вместо обычного кода следующую конструкцию (я сразу указываю в java формате):
st.executeUpdate("CREATE TEMP TABLE IF NOT EXISTS d(c UNIQUE);");
st.executeUpdate("INSERT OR IGNORE INTO d(c) SELECT GroupID FROM Jobs;");
ResultSet rs = st.executeQuery("SELECT c FROM temp.d ORDER BY c ASC;");
while (rs.next()) {
listModel.addElement(rs.getString(1));
}
st.executeUpdate("DROP TABLE IF EXISTS d;");
решение было найдено на http://www.pubbs.net/200910/sqlite/13734-sqlite-improving-select-distinct-performance.html
Очевидно существует некоторый предел по объему данных когда прямая DISTINCT конструкция является более предпочтительной, однако с увеличением объема, выгоднее использовать метод с построением временной таблицы. проверено.
Также очевидно, такую штуку можно проделать и с помощью представлений.
[ad#main]

