Bonjour,
Je voudrais savoir quel est le nombre maximum d'enregistrements de sqlite3.
Merci d'avance.
Bonjour,
Je voudrais savoir quel est le nombre maximum d'enregistrements de sqlite3.
Merci d'avance.
Bonjour, si j'ai bien compris ta question, tu veux connaître le nombre d'enregistrements maximal par requête; par défaut cette valeur est de 1000
(SQLITE_MAX_EXPR_DEPTH).
elle est paramétrable d'après la doc en utilisant la méthode sqlite3_limit
Merci pour cette info. Mais je voulais savoir le nombre maximal d'enregistrements pour une table.
Merci
Limitation de SQLite :
http://www.sqlite.org/limits.html
je n'ai pas vu de référence au nombre max d'enregistrements dans une table.
Mais je ne sais pas s'il y en a une...
Bonjour,
Un enregistrement est toujours indexé, du coup, la limite du nombre d'enregistrement est celle de l'indice maximal.
http://www.sqlite.org/faq.html#q3
Il est dit que l'index primaire est un entier 64 bits signé. Donc, la limite théorique de SQLite est de 2^64 enregistrements. Soit deux fois 9.223.372.036.854.775.807 lignes.
Vérification :
Cependant, il faut que la taille sur le disque de ces enregistrement ne dépasse pas la taille de SQLITE_MAX_PAGE_COUNT x SQLITE_MAX_PAGE_SIZE soit 1073741823 x 32768 octets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sqlite> create table test (id integer primary key); sqlite> insert into test values (9223372036854775807); sqlite> insert into test values (9223372036854775808); SQL error: datatype mismatch
On a donc une limite disque d'environ 35184 Go.
Tout cela n'est que de la théorie, ça reste à vérifier. Mais j'ai déjà généré des tables de centaines de million de lignes sans difficulté.
a+
Partager