Russian Qt Forum
Ноябрь 23, 2024, 04:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Подключение к БД и постобработка данных  (Прочитано 18863 раз)
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #30 : Август 20, 2015, 11:21 »

Я получил файл в 85 Гб.
Взяли бы вы сразу БД по серьезней. Улыбающийся
IMHO, sqlite не очень подходит для таких объемов.
Записан
Bepec
Гость
« Ответ #31 : Август 20, 2015, 11:30 »

sqlite все таблицы кроме BLOB в стрингах хранит, экономия сомнительная.
Переводите всё в бинарник.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #32 : Август 20, 2015, 11:43 »

Спасибо за советы - буду думать
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #33 : Август 20, 2015, 12:39 »

sqlite все таблицы кроме BLOB в стрингах хранит, экономия сомнительная.
Переводите всё в бинарник.
Я сгенерировал небольшую таблицу, состоящую из double и открыл через текстовый просмотрщик. Своих цифр в виде текста я не нашёл.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #34 : Август 20, 2015, 12:45 »

Взяли бы вы сразу БД по серьезней. Улыбающийся
К сожалению, прав админа у меня нет и приходится выкручиваться как есть.
Задачей является выгрузка информации и передача её другому сотруднику для обработки. С sql он не знаком.
Если брать БД серьёзнее, то её нужно поставить на 2 pc (прав нет, но можно портабл, например psql), настраивать сеть я тоже не имею прав, а потом нужен интерфейс для вывода данных и применения фильтров, основной это ввод диапазона значений.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #35 : Август 20, 2015, 12:53 »

К сожалению, прав админа у меня нет и приходится выкручиваться как есть.
Как-то странно. Вы там играетесь или задачу решаете? Улыбающийся
Если второе, то админ должен был сам поднять сервер БД, предоставить вам с коллегой к нему доступ, что бы ваша программа сохраняла данные, а ваш коллега в тоже время их мог обрабатывать.
А сейчас вы как эти файлы будете передавать? По сети или флешками? А если флешки начнут дохнуть вместе с данными? Или для вас полученные данные не важны? Улыбающийся
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #36 : Август 20, 2015, 13:02 »

Согласен - маразм Улыбающийся но проще так, чем доказывать, что мне нужна БД через 8 инстанций. Такая, блин, система...
Передаю через внешний винт.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #37 : Август 20, 2015, 13:04 »

Попробуй из Кьюта открыть базу и поделать запросы.
Может я чего-то не понимаю...

Код
C++ (Qt)
QSqlQuery query(db);
qDebug() << query.exec("SELECT * FROM Composition;");
qDebug() << query.size();
 

Вывод
Цитировать
true
-1
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #38 : Август 20, 2015, 13:13 »

Цитировать
bool QSqlDriver::hasFeature(DriverFeature feature) const

QSqlDriver::QuerySize   1   Whether the database is capable of reporting the size of a query. Note that some databases do not support returning the size (i.e. number of rows returned) of a query, in which case QSqlQuery::size() will return -1.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #39 : Август 20, 2015, 14:27 »

Спасибо, я почему-то подумал, что sqlite не относится к таковым...
Попробуй из Кьюта открыть базу и поделать запросы.
Пантер, на что хотел натолкнуть?
Код
C++ (Qt)
   QSqlQuery query(db);
   QTime time;
   time.start();
   qDebug() << query.exec("SELECT * FROM Composition WHERE C = 0.2 AND Si = 0.5 AND V = 0.03;");
   qDebug() << time.elapsed();
   int count = 0;
   while (query.next())
       ++count;
   qDebug() << time.elapsed();
   qDebug() << count;
 
Цитировать
true
36183
678940
1227256
Диспетчер процессов показал, что на время запроса было задействовано 1 ядро 100% (xenon e5 3.6GHz), а на время цикла в поле диск значение колебалось от 160 до 210 Мб/с.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #40 : Август 20, 2015, 15:43 »

А что тебе с данными нужно сделать?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #41 : Август 20, 2015, 15:49 »

Конкретно до конца сам не понимаю, так как другой человек будет ими заниматься. А так он собирается выводить по диапозонам, смотреть на цифры. Как-то так...
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #42 : Август 20, 2015, 15:51 »

Глобальная задача такая. Есть некая модель, критерий, по которой идёт расчёт. Если критерий удовлетворительный, то модель адекватная, если нет - нет.
Необходимо выделить группы по хим. составу, в которых модель работает стабильно, а в каких нет.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.092 секунд. Запросов: 22.