Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
1

Узнать размер всех данных в SQLite

03.05.2016, 00:05. Просмотров 1270. Ответов 11
Метки нет (Все метки)

Вот я сохранил некоторые данные в SQLite могу ли я узнать размер данных, которые хранятся в SQLite, то есть размер самой SQLite с моими данными? И есть ли ограничения на хранение данных в мобильной базе? Какой максимальный размер можно хранить?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2016, 00:05
Ответы с готовыми решениями:

Узнать номер записи по id (SQLite)
Привет! Осваиваю SQLite, столкнулся с проблемой. Мне нужно получить номер записи, по id записи......

Postgre, узнать размер ВСЕХ таблиц
Добрый день! В наличии БД на Postgre, хочу узнать размер ВСЕХ таблиц. как найти размер я нашла...

Пользователь вводит каталог и надо узнать в нём размер всех каталогов и подкаталогов
Всем привет!Мужики спасайте. Есть такая задачка. Пользователь вводит каталог и надо узнать в нём...

VBS + .DBF. Как узнать имена всех таблиц в "базе данных"?
Доброго времени суток. Пытаюсь узнать имена таблиц.DBF, лежащих в каталоге на харде. Впоследствии,...

Как узнать присвоенный индекс новой записи в SQLite
Записываю в SQLite информацию, но не знаю какой ID (индекс) был присвоен пытался сразу же...

11
YuraAAA
1582 / 1322 / 283
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
03.05.2016, 00:51 2
Цитата Сообщение от yura91 Посмотреть сообщение
Какой максимальный размер можно хранить?
Около 140Tb.
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
03.05.2016, 11:05  [ТС] 3
А текущий размер базы данных(ну сколько в данный момент в ней байт хранится) как можно узнать?
0
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
03.05.2016, 11:39 4
зачем? информации о размере файла не хватает?

Добавлено через 7 минут
Java
1
2
3
        db.getMaximumSize(); // кэп говорит что метод возвращает максимальный размер базы
        File file = new File(db.getPath());
        file.length(); // и размер файла
0
03.05.2016, 11:39
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
03.05.2016, 12:19  [ТС] 5
Ну то есть смотрите если я создал SQLite и сохранил в нее некоторые данные. То изначально(до вставки данных) у меня файл SQLite был пустой и размер этого файла был равен нулю, ну а после того как я вставил в SQLite некоторые данные то размер файла SQLite стал равным размеру (в байтах) данных что я туда положил верно? Или же у файла SQLite есть еще какой то заголовок там и такого типа и размер файла базы изначально не равен нулю, а равен размеру этого заголовка?

Добавлено через 2 минуты
И сколько этот заголовок занимает? Если он конечно есть. Просто мне нужно узнать не столько размер самого файла SQLite, сколько размер всех моих данных, которые лежат в этом файле в данный момент.
0
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
03.05.2016, 12:21 6
зачем?
0
DarkVortex
103 / 69 / 19
Регистрация: 07.07.2014
Сообщений: 240
03.05.2016, 12:29 7
https://www.sqlite.org/pragma.html
Результат запроса "PRAGMA page_count;" помножьте на "PRAGMA page_size;"
Получите размер данных +/- PRAGMA page_size
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
03.05.2016, 12:32  [ТС] 8
Ну просто мое приложение должно читать некоторую информацию, размер которой заранее не известен (это список контактов телефона - они как известно хранятся в своей базе) сохранять ее в базу данных свою и по TCP передавать. Мне во первых нужно знать точно сколько контактов у пользователя(чтобы правильно расчитать размер буфера для передачи). Ну можно конечно прочитать все из базы в ArayList, определить размер ArrayList и выделить в массиве который хочу передавать количество байт равное размеру этого ArayList, но как то коряво немного. Хорошо бы как то сразу определить размер списка контактов вот и думаю. Не подскажете идею?
0
DarkVortex
103 / 69 / 19
Регистрация: 07.07.2014
Сообщений: 240
03.05.2016, 12:39 9
Что-то вы лишнюю мороку себе придумали...передавайте пока не кончатся, зачем вам их размер знать?
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
04.05.2016, 01:19  [ТС] 10
Ну просто да, можно контакты передавать пока не кончатся через класс PrintWriter метод println(), но у меня там еще бинарные данные передаются изображение например это уже через OutputStream получается(на сервере эти все и контакты и бинарные данные все нормально разбирается,и по категориям). Единственная морока в том, что можно ли и контакты телефона как то через класс OutputStream передать( ну и контакты и бинарные данные через один класс OutputStream), вот еще думаю как здесь все оптимальнее, красивее сделать. А просто ради интереса скажите как вообще нужно эти запросы выполнять "PRAGMA page_count;" PRAGMA page_size. Через консоль они вообще выполняются или программно можно через Java? И как они выглядят полностью?

Добавлено через 12 часов 22 минуты
Я хотел спросить ведь эти PRAGMA команды - это же явно не язык java. А в какой среде и как их вообще нужно запускать?Можете пояснить?
0
DarkVortex
103 / 69 / 19
Регистрация: 07.07.2014
Сообщений: 240
04.05.2016, 11:52 11
Цитата Сообщение от yura91 Посмотреть сообщение
Я хотел спросить ведь эти PRAGMA команды - это же явно не язык java. А в какой среде и как их вообще нужно запускать?Можете пояснить?
Это SQL запрос к базе данных.
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
04.05.2016, 12:09  [ТС] 12
А как запустить этот SQL запрос программно(из Java кода), чтобы получить PRAGMA page_count(это же int)? У SQLiteDatabase есть только 2 метода с SQL запросами это execSQL() и rawQuery. Первая вообще ничего не возвращает, а только запускает SQL скрипт, а вторая возвращает Cursor, но мне же нужен int. Может из Cursora как то можно получить page_count если да то как?

Добавлено через 39 секунд
Или какой метод Java тогда использовать для запуска PRAGMA page_count?
0
04.05.2016, 12:09
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2016, 12:09

Работа с SQLite. Узнать количество столбцов через Query.Exec
Вообщем банальный вопрос. Пока делаю вот так:...

Как узнать размер строки как размер массива
const char* test_str = "01234\x00 789"; //очевидно, что strlen(test_str) == 5; sizeof(test_str)...

Влияет ли размер BLOB поля на размер загружаемых данных
вот если размер фото у меня 6 МБ а размер BLOB поля к примеру 3 МБ то оно будет сохранять фото в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.