This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

Select Random Ranges and Select Random Point

  • select_random_ranges (select 10 ranges with a delta as parameter)
  • select_random_points (select 100 random points)

Findings:

select_random_ranges

  • A delta of 100 for the ranges gives 3 - 6% performance gain
  • A delta of 50 for the ranges gives 3 - 15% performance gain
  • A delta of 5 for the ranges gives up to 70% performance gain
  • A delta of 1 million shows no difference at all.

select_random_points

  • We see up to 150% performance gain fetching index only
  • We see up to 50% performance gain fetching index and data

The absolute numbers are highly RAM depended

  • We see an up to 250% performance difference on a 2GB system compared to a 4GB system.

MariaDB and MySQL were compiled with

BUILD/compile-amd64-max

MariaDB revision was:

revno: 2742
committer: Igor Babaev <igor@askmonty.org>
branch nick: maria-5.2-keycache
timestamp: Tue 2010-02-16 08:41:11 -0800
message:
  WL#86: Partitioned key cache for MyISAM.
  This is the base patch for the task.

sysbench was run with the following parameters:

--oltp-table-size=20000000 \       # 20 million rows.
--max-requests=0 \
--mysql-table-engine=MyISAM \
--mysql-user=root \
--mysql-engine-trx=no \
--myisam-max-rows=50000000 \
--rand-seed=303

and the following variable parameters

--num-threads=$THREADS --test=${TEST_DIR}/${SYSBENCH_TEST}

Configuration used for MariDB:

--no-defaults \
--datadir=/mnt/data/sysbench/data \
--language=./sql/share/english \
--key_buffer_size=512M \
--key_cache_partitions=32 \        # Off | 32 | 64
--max_connections=256 \
--query_cache_size=0 \
--query_cache_type=0 \
--skip-grant-tables \
--socket=/tmp/mysql.sock \
--table_open_cache=512 \
--thread_cache=512 \
--tmpdir=/mnt/data/sysbench
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.