All I/O is done via page sized blocks. So the minimum amount of data to be fetched will always be a page. The bigger issue is, as you said, when you need to follow a chain of pages to get a small value at the end.
-j On Thu, Oct 6, 2016 at 9:53 AM, Paul Sanderson <sandersonforens...@gmail.com > wrote: > > Long columns, especially TEXT or BLOBs which may have lots of data in, > should go at the end. Because you don't want SQLite to have to fetch all > that data from storage just to get at the column after it. > > To be pedantic SQLite does not need to "fetch" all of the data from > strorage before a needed column, it just needs to be able to skip it - > unless the data oveflows in to one or more overflow pages then it will > need to fetch each page until it reaches the one with the data in it. > If the complete row is held in one page and your query just needs the > last column - SQLite just needs to know the size of all of the data > that preceedes the column you want. There is still the overhead of > decoding every serial type before the column you require. > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users