diff options
| author | Oleg Smirnov <olernov@gmail.com> | 2022-09-12 14:28:00 +0700 |
|---|---|---|
| committer | Oleg Smirnov <olernov@gmail.com> | 2022-10-13 06:42:31 +0400 |
| commit | beb9a5459d4fc21c7d3a3bf1bbc9f461d8f7e51c (patch) | |
| tree | a53f9f82a9f5ef3a983609f10a862282e53aaf6d /mysql-test/main/create_or_replace.result | |
| parent | 9206c1ea9746ab022f531e40eec7d930be137f21 (diff) | |
| download | mariadb-git-beb9a5459d4fc21c7d3a3bf1bbc9f461d8f7e51c.tar.gz | |
MDEV-20609 Full table scan in INFORMATION_SCHEMA.PARAMETERS/ROUTINES
Queries to INFORMATION_SCHEMA.PARAMETERS and ROUTINES tables are always
performed using full index scan of the mysql.proc primary key
on fields (`db`,`name`,`type`). This can be done in a much more effective
way if `db` and `name` field values can be derived from the WHERE statement,
like here:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_SCHEMA = 'test' AND SPECIFIC_NAME = 'my_func'
or here:
SELECT * FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA='test' AND ROUTINE_NAME='my_func'.
In such cases index range scan may be employed instead of full index
scan. This commit makes the server retrieve lookup field values from
the SQL statement and perform index range scan instead of full index
scan if possible.
Diffstat (limited to 'mysql-test/main/create_or_replace.result')
0 files changed, 0 insertions, 0 deletions
