Expenses in B-Tree not in the node splitting (that is really not that often
and takes small amount of time). As I've said - it's in finding right place
to insert.

Root level which takes 1 page will do the same as your hash index. And will
use much less space in cache. This root page in such DB will always be in
cache. So you won't gain any advantage at all. And multi-threading also
won't use the benefit of multiply tables. At least in SQLite.

That method called partitioning. It gives advantages when partitions divided
by some logic and there is a high chance to hit fewer partitions in average.
It also can benefit a bit in case RDBMS supports real parallel execution and
you have a lot of hard drives. That is not the case with SQLite (well you
can compile without thread safety and try to do own locks).

I have actually posted a real proposal to make DB much faster. That will
work.
Proposal with 100 tables as a hash buckets doesn't works and I've checked
that a lot of time ago.
You have a sample where it works and gives any visible benefit? I'd like to
see that.

My another addition to proposal is to use SSD with as small as possible
average access time. Some of them can easily do 50-100x faster. And that
will give 20-50x times faster inserts.

Thank you.
Max.


John Stanton-3 wrote:
> This technique is used extensively in disk cacheing and in maintaining 
> file directories with huge numbers of files..
> 
> I would expect it toincrease key insertion speed because it removes a 
> level of index in the B-tree of each index.  The expensive activity in a 
> B-tree index insertion is a node split which requires that key 
> information be updated in each internal node level and possibly a new 
> level added.  Fewer levels mean faster performance.
> 
> This method could also be used to add parallelism by having multiple 
> threads or processes perform insertions concurrently.  Having each 
> database in a separate databases would help this approach.
> It would also help with concurrent read accesses.
> 
> If this application only has one table and does not need SQL then there 
> are better solutions than using Sqlite and paying the price for its many 
> features but not using them.

-- 
View this message in context: 
http://www.nabble.com/very-large-SQLite-tables-tp24201098p24231750.html
Sent from the SQLite mailing list archive at Nabble.com.

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to