Подтвердить что ты не робот

Максимальное количество строк в таблице sqlite

Дайте простую таблицу sqlite3 (create table data (key PRIMARY KEY,value)) с размером ключа 256 байт и значением размером 4096 байт, каков предел (игнорируя ограничения на дисковое пространство) на максимальное количество строк в этой таблице sqlite3? Связаны ли ограничения с ОС (win32, linux или Mac)

4b9b3361

Ответ 2

По состоянию на январь 2017 года страница с ограничениями на sqlite3 определяет практические пределы этого вопроса на основе максимального размера базы данных, которая составляет 140 терабайт

Максимальное количество строк в таблице

Теоретическое максимальное количество строк в таблице составляет 2 ^ 64 (18446744073709551616 или около 1,8e + 19). Этот предел недостижим, так как максимальный размер базы данных составляет 140 терабайт. База данных размером 140 терабайт может содержать не более 1e + 13 строк, а затем только если нет индексов, и если каждая строка содержит очень мало данных.

Таким образом, с максимальным размером базы данных в 140 терабайт вам повезло бы получить ~ 1 триллион строк, поскольку, если бы у вас действительно была полезная таблица с данными, количество строк было бы ограничено размером данных. Вероятно, у вас может быть до 10 с миллиардов строк в базе данных 140 ТБ.

Ответ 3

У меня есть база данных SQLite размером 3,3 ГБ с 25миллионными строками хранимых числовых журналов и выполняется их расчет, она работает быстро и хорошо.

Ответ 4

У меня есть база данных SQLite объемом 7,5 ГБ, в которой хранится 10,5 миллионов строк. Запрос выполняется быстро, если у вас есть правильные индексы. Чтобы быстро вставлять вставки, вы должны использовать транзакции. Кроме того, я нашел, что лучше создавать индексы после того, как все строки были вставлены. В противном случае скорость вставки будет довольно низкой.

Ответ 5

Ответ, который вы хотите прямо здесь.

Каждая упомянутая вами ОС поддерживает несколько типов файловой системы. Фактические пределы будут для файловой системы, а не для ОС. Трудно суммировать матрицу ограничений на SO, но в то время как некоторые файловые системы ограничивают размеры файлов, все основные ядра ОС сегодня поддерживают файловую систему с чрезвычайно большими файлами.

Максимальный размер страницы sqlite3 db довольно большой, 2 ^ 32768, хотя для этого требуется некоторая конфигурация. Я предполагаю, что индекс должен указывать номер страницы, но результат, вероятно, будет заключаться в том, что сначала будет достигнут предел ОС или среды.

Ответ 7

Без ограничений, но в основном после определенного момента база данных sqlite станет бесполезной. PostgreSQL - это высшая бесплатная база данных BY FAR для огромных баз данных. В моем случае это около 1 миллиона строк на моем 64-разрядном четырехъядерном процессоре с четырьмя процессорами Linux с 8 ГБ оперативной памяти и жесткими дисками Raptor. PostgreSQL непревзойден, даже с помощью настроенной базы данных MySQL. (Опубликовано в 2011 году).