mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
27b9989d31
The InnoDB adaptive hash index is sometimes degrading the performance of InnoDB, and it is sometimes disabled to get more consistent performance. We should have a compile-time option to disable the adaptive hash index. Let us introduce two options: OPTION(WITH_INNODB_AHI "Include innodb_adaptive_hash_index" ON) OPTION(WITH_INNODB_ROOT_GUESS "Cache index root block descriptors" ON) where WITH_INNODB_AHI always implies WITH_INNODB_ROOT_GUESS. As part of this change, the misleadingly named function trx_search_latch_release_if_reserved(trx) will be replaced with the macro trx_assert_no_search_latch(trx) that will be empty unless BTR_CUR_HASH_ADAPT is defined (cmake -DWITH_INNODB_AHI=ON). We will also remove the unused column INFORMATION_SCHEMA.INNODB_TRX.TRX_ADAPTIVE_HASH_TIMEOUT. In MariaDB Server 10.1, it used to reflect the value of trx_t::search_latch_timeout which could be adjusted during row_search_for_mysql(). In 10.2, there is no such field. Other than the removal of the unused column TRX_ADAPTIVE_HASH_TIMEOUT, this is an almost non-functional change to the server when using the default build options. Some tests are adjusted so that they will work with both -DWITH_INNODB_AHI=ON and -DWITH_INNODB_AHI=OFF. The test innodb.innodb_monitor has been renamed to innodb.monitor in order to track MySQL 5.7, and the duplicate tests sys_vars.innodb_monitor_* are removed. |
||
---|---|---|
.. | ||
btr0btr.h | ||
btr0btr.ic | ||
btr0bulk.h | ||
btr0cur.h | ||
btr0cur.ic | ||
btr0defragment.h | ||
btr0pcur.h | ||
btr0pcur.ic | ||
btr0scrub.h | ||
btr0sea.h | ||
btr0sea.ic | ||
btr0types.h | ||
buf0buddy.h | ||
buf0buddy.ic | ||
buf0buf.h | ||
buf0buf.ic | ||
buf0checksum.h | ||
buf0dblwr.h | ||
buf0dump.h | ||
buf0flu.h | ||
buf0flu.ic | ||
buf0lru.h | ||
buf0lru.ic | ||
buf0mtflu.h | ||
buf0rea.h | ||
buf0types.h | ||
data0data.h | ||
data0data.ic | ||
data0type.h | ||
data0type.ic | ||
data0types.h | ||
db0err.h | ||
dict0boot.h | ||
dict0boot.ic | ||
dict0crea.h | ||
dict0crea.ic | ||
dict0defrag_bg.h | ||
dict0dict.h | ||
dict0dict.ic | ||
dict0load.h | ||
dict0load.ic | ||
dict0mem.h | ||
dict0mem.ic | ||
dict0pagecompress.h | ||
dict0pagecompress.ic | ||
dict0priv.h | ||
dict0priv.ic | ||
dict0stats.h | ||
dict0stats.ic | ||
dict0stats_bg.h | ||
dict0stats_bg.ic | ||
dict0types.h | ||
dyn0buf.h | ||
dyn0types.h | ||
eval0eval.h | ||
eval0eval.ic | ||
eval0proc.h | ||
eval0proc.ic | ||
fil0crypt.h | ||
fil0crypt.ic | ||
fil0fil.h | ||
fil0fil.ic | ||
fil0pagecompress.h | ||
fsp0file.h | ||
fsp0fsp.h | ||
fsp0fsp.ic | ||
fsp0pagecompress.h | ||
fsp0pagecompress.ic | ||
fsp0space.h | ||
fsp0sysspace.h | ||
fsp0types.h | ||
fts0ast.h | ||
fts0blex.h | ||
fts0fts.h | ||
fts0opt.h | ||
fts0pars.h | ||
fts0plugin.h | ||
fts0priv.h | ||
fts0priv.ic | ||
fts0tlex.h | ||
fts0tokenize.h | ||
fts0types.h | ||
fts0types.ic | ||
fts0vlc.ic | ||
fut0fut.h | ||
fut0fut.ic | ||
fut0lst.h | ||
fut0lst.ic | ||
gis0geo.h | ||
gis0rtree.h | ||
gis0rtree.ic | ||
gis0type.h | ||
ha0ha.h | ||
ha0ha.ic | ||
ha0storage.h | ||
ha0storage.ic | ||
ha_prototypes.h | ||
handler0alter.h | ||
hash0hash.h | ||
hash0hash.ic | ||
ib0mutex.h | ||
ibuf0ibuf.h | ||
ibuf0ibuf.ic | ||
ibuf0types.h | ||
lock0iter.h | ||
lock0lock.h | ||
lock0lock.ic | ||
lock0prdt.h | ||
lock0priv.h | ||
lock0priv.ic | ||
lock0types.h | ||
log0crypt.h | ||
log0log.h | ||
log0log.ic | ||
log0recv.h | ||
log0types.h | ||
mach0data.h | ||
mach0data.ic | ||
mem0mem.h | ||
mem0mem.ic | ||
mtr0log.h | ||
mtr0log.ic | ||
mtr0mtr.h | ||
mtr0mtr.ic | ||
mtr0types.h | ||
os0api.h | ||
os0event.h | ||
os0file.h | ||
os0file.ic | ||
os0once.h | ||
os0proc.h | ||
os0proc.ic | ||
os0thread.h | ||
os0thread.ic | ||
page0cur.h | ||
page0cur.ic | ||
page0page.h | ||
page0page.ic | ||
page0size.h | ||
page0types.h | ||
page0zip.h | ||
page0zip.ic | ||
pars0grm.h | ||
pars0opt.h | ||
pars0opt.ic | ||
pars0pars.h | ||
pars0pars.ic | ||
pars0sym.h | ||
pars0sym.ic | ||
pars0types.h | ||
que0que.h | ||
que0que.ic | ||
que0types.h | ||
read0read.h | ||
read0types.h | ||
rem0cmp.h | ||
rem0cmp.ic | ||
rem0rec.h | ||
rem0rec.ic | ||
rem0types.h | ||
row0ext.h | ||
row0ext.ic | ||
row0ftsort.h | ||
row0import.h | ||
row0import.ic | ||
row0ins.h | ||
row0ins.ic | ||
row0log.h | ||
row0log.ic | ||
row0merge.h | ||
row0mysql.h | ||
row0mysql.ic | ||
row0purge.h | ||
row0purge.ic | ||
row0quiesce.h | ||
row0quiesce.ic | ||
row0row.h | ||
row0row.ic | ||
row0sel.h | ||
row0sel.ic | ||
row0trunc.h | ||
row0types.h | ||
row0uins.h | ||
row0uins.ic | ||
row0umod.h | ||
row0umod.ic | ||
row0undo.h | ||
row0undo.ic | ||
row0upd.h | ||
row0upd.ic | ||
row0vers.h | ||
row0vers.ic | ||
srv0conc.h | ||
srv0mon.h | ||
srv0mon.ic | ||
srv0srv.h | ||
srv0srv.ic | ||
srv0start.h | ||
sync0arr.h | ||
sync0arr.ic | ||
sync0debug.h | ||
sync0policy.h | ||
sync0policy.ic | ||
sync0rw.h | ||
sync0rw.ic | ||
sync0sync.h | ||
sync0types.h | ||
trx0i_s.h | ||
trx0purge.h | ||
trx0purge.ic | ||
trx0rec.h | ||
trx0rec.ic | ||
trx0roll.h | ||
trx0roll.ic | ||
trx0rseg.h | ||
trx0rseg.ic | ||
trx0sys.h | ||
trx0sys.ic | ||
trx0trx.h | ||
trx0trx.ic | ||
trx0types.h | ||
trx0undo.h | ||
trx0undo.ic | ||
trx0xa.h | ||
univ.i | ||
usr0sess.h | ||
usr0sess.ic | ||
usr0types.h | ||
ut0byte.h | ||
ut0byte.ic | ||
ut0counter.h | ||
ut0crc32.h | ||
ut0dbg.h | ||
ut0list.h | ||
ut0list.ic | ||
ut0lst.h | ||
ut0mem.h | ||
ut0mem.ic | ||
ut0mutex.h | ||
ut0new.h | ||
ut0pool.h | ||
ut0rbt.h | ||
ut0rnd.h | ||
ut0rnd.ic | ||
ut0sort.h | ||
ut0stage.h | ||
ut0timer.h | ||
ut0timer.ic | ||
ut0ut.h | ||
ut0ut.ic | ||
ut0vec.h | ||
ut0vec.ic | ||
ut0wqueue.h |