You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some types in Dolt, such as TEXT and BLOB types, are stored in the table as an content address of some other content in the chunk store. An operation on that table that doesn't particularly care about the values of those columns shouldn't require those values to be deserialized in order to work. However, because go-mysql-server abstracts away storage details and may not have access to the content address, it may end up fully loading these values unnecessarily.
For example, consider this example where we make a table by transforming an existing one:
create table input(pk int primary key, c0 int, b longblob);
insert into input values (1, 1, load_file("large_blob.bin"));
create table output(pk int primary key, c0 int, b longblob);
insert into output select pk, c0 + 1, b from longblob;
In this case, we can simply copy the content address from input to output, but instead we fully load the blob into memory and rechunk it when writing it to output. Depending on the size of the blob, this can make the operation astronomically slower.
The text was updated successfully, but these errors were encountered:
Some types in Dolt, such as
TEXT
andBLOB
types, are stored in the table as an content address of some other content in the chunk store. An operation on that table that doesn't particularly care about the values of those columns shouldn't require those values to be deserialized in order to work. However, because go-mysql-server abstracts away storage details and may not have access to the content address, it may end up fully loading these values unnecessarily.For example, consider this example where we make a table by transforming an existing one:
In this case, we can simply copy the content address from
input
tooutput
, but instead we fully load the blob into memory and rechunk it when writing it tooutput
. Depending on the size of the blob, this can make the operation astronomically slower.The text was updated successfully, but these errors were encountered: