diff options
author | unknown <marko@hundin.mysql.fi> | 2005-04-21 15:02:54 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-04-21 15:02:54 +0300 |
commit | 353e499c0d5720fdcb801cd93096dbb898247988 (patch) | |
tree | 6af4105fd3bf72924a33d92c236101be1fe4eb14 /innobase/include | |
parent | c6b55112b1ca92045f5d8c5ea70c16aea574f4a0 (diff) | |
download | mariadb-git-353e499c0d5720fdcb801cd93096dbb898247988.tar.gz |
InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql()
by copying only a prefix of the row that covers the requested
columns.
innobase/include/row0mysql.h:
row_prebuilt_struct: Add field mysql_prefix_len
in order to reduce memcpy() time in
row_sel_pop_cached_row_for_mysql().
innobase/row/row0sel.c:
row_sel_pop_cached_row_for_mysql(): memcpy() only
mysql_prefix_len bytes instead of mysql_row_len.
sql/ha_innodb.cc:
build_template(): Initialize prebuilt->mysql_prefix_len.
Diffstat (limited to 'innobase/include')
-rw-r--r-- | innobase/include/row0mysql.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/innobase/include/row0mysql.h b/innobase/include/row0mysql.h index e44d689b88b..277089430d4 100644 --- a/innobase/include/row0mysql.h +++ b/innobase/include/row0mysql.h @@ -599,6 +599,8 @@ struct row_prebuilt_struct { that was decided in ha_innodb.cc, ::store_lock(), ::external_lock(), etc. */ + ulint mysql_prefix_len;/* byte offset of the end of + the last requested column */ ulint mysql_row_len; /* length in bytes of a row in the MySQL format */ ulint n_rows_fetched; /* number of rows fetched after |