mariadb/storage/innobase/row
Aleksey Midenkov 2347ffd843 MDEV-20301 InnoDB's MVCC has O(N^2) behaviors
If there're multiple row versions in InnoDB, reading one row from PK
may have O(N) complexity and reading from secondary keys may have
O(N^2) complexity.

The problem occurs when there are many pending versions of the same
row, meaning that the primary key is the same, but a secondary key is
different.  The slowdown occurs when the secondary index is
traversed. This patch creates a helper class for the function
row_sel_get_clust_rec_for_mysql() which can remember and re-use
cached_clust_rec & cached_old_vers so that rec_get_offsets() does not
need to be called over and over for the clustered record.

Corrections by Kevin Lewis <kevin.lewis@oracle.com>

MDEV-20341 Unstable innodb.innodb_bug14704286

Removed test that tested the ability of interrupting long query which
is not long anymore.
2019-08-14 19:10:17 +03:00
..
row0ext.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0ftsort.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0import.cc MDEV-19695 Import tablespace doesn't work with ROW_FORMAT=COMPRESSED encrypted tablespace 2019-06-06 12:54:34 +05:30
row0ins.cc MDEV-17614: After-merge fix 2019-08-12 18:50:54 +03:00
row0log.cc MDEV-17228 Encrypted temporary tables are not encrypted 2019-06-28 19:07:59 +05:30
row0merge.cc fts_sync_table(), fts_sync() dead code removal 2019-07-25 13:34:36 +03:00
row0mysql.cc MDEV-17614: After-merge fix 2019-08-12 18:50:54 +03:00
row0purge.cc Remove unnecessary pointer indirection for rw_lock_t 2019-05-13 18:46:12 +03:00
row0quiesce.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0row.cc MDEV-19435 buf_fix_count > 0 for corrupted page when it exits the LRU list 2019-06-13 16:13:51 +03:00
row0sel.cc MDEV-20301 InnoDB's MVCC has O(N^2) behaviors 2019-08-14 19:10:17 +03:00
row0trunc.cc Remove unnecessary pointer indirection for rw_lock_t 2019-05-13 18:46:12 +03:00
row0uins.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0umod.cc Remove unnecessary pointer indirection for rw_lock_t 2019-05-13 18:46:12 +03:00
row0undo.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0upd.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0vers.cc MDEV-19870 gcol.innodb_virtual_debug_purge doesn't fail if row_vers_old_has_index_entry gives wrong result 2019-07-24 16:45:05 +05:30