Portál AbcLinuxu, 10. května 2025 09:09

Dotaz: rozdeleni databaze do vice mensich souboru

6.5.2010 23:35 jarda999
rozdeleni databaze do vice mensich souboru
Přečteno: 629×
Odpovědět | Admin
zdar, mam velikou databazi - nekolik giga a chtel bych ji rozdelit na max 1 GB soubory. Je tam jen 1 tabulka. Slo by nejak rict, ze je databaze ulozena ve vice souborech? napr. jedna polovina tabulky by byla v jednom souboru a druha polovina v druhem, ale po otevreni obou souboru bych mohl delat select nad jednou tabulkou jako bych otevrel 1 soubor. Db pouzivam SQLite, jde to tak udelat?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.5.2010 09:40 cronin | skóre: 49
Rozbalit Rozbalit vše Re: rozdeleni databaze do vice mensich souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nijako priamociaro to asi nepojde. Pokial viem, pristup "cela databaza v jednom subore" je jednou z hlavnych dizajnovych vlastnosti SQLite databazy. Napadaju mi nejake pseudoriesenia, ale k ich aplikovatelnosti by bolo treba vediet, ake udaje su v tabulke a ako a cim sa pouzivaju.
7.5.2010 11:15 FooBar
Rozbalit Rozbalit vše Re: rozdeleni databaze do vice mensich souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nijak transparentne partitioning SQLite neumi. Nicmene, muzes si ho vyrobit natvrdo sam, a udrzovat pres pohledy a triggery nebo na aplikacni urovni. SQLite umoznuje mit velmi snadno vic otevrenejch databazi a pracovat nad nima. Viz demonstrace:
$ sqlite3 test1.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE foo1 ( x INTEGER );
sqlite> INSERT INTO foo1 VALUES ( 100 );
sqlite> INSERT INTO foo1 VALUES ( 101 );

$ sqlite3 test2.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE foo2 ( x INTEGER );
sqlite> INSERT INTO foo2 VALUES ( 200 );
sqlite> INSERT INTO foo2 VALUES ( 201 );

$ sqlite3
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> ATTACH DATABASE 'test1.db' AS test1;
sqlite> ATTACH DATABASE 'test2.db' AS test2;
sqlite> SELECT * FROM test1.foo1;
100
101
sqlite> SELECT * FROM test2.foo2;
200
201
sqlite> SELECT * FROM test1.foo1 UNION SELECT * FROM test2.foo2;
100
101
200
201
28.5.2010 23:39 sam pan lipo
Rozbalit Rozbalit vše Re: rozdeleni databaze do vice mensich souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Netusim jak SQLlite ale v MySQL lze pouzit typ taubulky MERGE ktera resi presne to co potrebujes tedy jednu tabulku(fyzicky jeden soubor) rozdelit do vicero souboru. Je to spise takove nakopnuti ze to resit lze ovsem zda v te db co potrebujes tot otazkou ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.