1
Query Optimizations
Need help tuning your MariaDB database? Ask the experts!
Contact UsDifferent query optimizations and how you can use and tune them to get better performance.
-
Index Hints: How to Force Query Plans
Using hints to get the optimizer to use another query plan. -
Subquery Optimizations
Articles about subquery optimizations in MariaDB. -
Optimization Strategies
Various optimization strategies used by the query optimizer. -
Optimizations for Derived Tables
Optimizations for derived tables, or subqueries in the FROM clause -
Table Elimination
Resolving queries without accessing some of the tables the query refers to -
Statistics for Optimizing Queries
Different statistics provided by MariaDB to help you optimize your queries -
Filesort with Small LIMIT Optimization
Filesort with small LIMIT optimization. -
LIMIT ROWS EXAMINED
Means to terminate execution of SELECTs that examine too many rows. -
index_merge sort_intersection
Operation to allow the use of index_merge in a broader number of cases. -
MariaDB 5.3 Optimizer Debugging
MariaDB 5.3's optimizer debugging patch -
optimizer_switch
Server variable for enabling specific optimizations. -
How to Quickly Insert Data Into MariaDB
Techniques for inserting data quickly into MariaDB. -
Index Condition Pushdown
Index Condition Pushdown optimization. -
Query Limits and Timeouts
Different methods MariaDB provides to limit/timeout a query. -
Aborting Statements that Exceed a Certain Time to Execute
Aborting statements that take longer than a certain time to execute. -
Partition Pruning and Selection
Partition pruning is when the optimizer knows which partitions are relevant for the query. -
Big DELETEs
How to DELETE lots of rows from a large table -
Charset Narrowing Optimization
Handles equality comparisons like utf8mb3_key_column=utf8mb4_expression. -
Data Sampling: Techniques for Efficiently Finding a Random Row
Fetching random rows from a table (beyond ORDER BY RAND()) -
Data Warehousing High Speed Ingestion
Ingesting lots of data and performance is bottlenecked in the INSERT area. What to do? -
Data Warehousing Summary Tables
Creation and maintenance of summary tables -
Data Warehousing Techniques
Improving performance for data-warehouse-like tables -
DISTINCT removal in aggregate functions
Basics One can use DISTINCT keyword to de-duplicate the arguments of an agg... -
Equality propagation optimization
Basic idea Consider a query with a WHERE clause: WHERE col1=col2 AND ... t... -
FORCE INDEX
Similar to USE INDEX, but tells the optimizer to regard a table scan as very expensive. -
Groupwise Max in MariaDB
Finding the largest row for each group. -
GUID/UUID Performance
GUID/UUID performance (type 1 only). -
hash_join_cardinality optimizer_switch Flag
MariaDB starting with <a href="/kb/en/mariadb-10613-release-notes/">10.6.13... -
IGNORE INDEX
Tell the optimizer to not consider a particular index. -
not_null_range_scan Optimization
Enables constructing range scans from NOT NULL conditions inferred from the WHERE clause. -
optimizer_adjust_secondary_key_costs
System variable for adjusting secondary key cost in MariaDB 10.6-10.11. -
optimizer_join_limit_pref_ratio optimization
Basics Off (0) by default, when enabling this optimization, MariaDB will c... -
Optimizing for "Latest News"-style Queries
Optimizing the schema and code for "Latest News"-style queries -
Pagination Optimization
Pagination, not with OFFSET, LIMIT -
Pivoting in MariaDB
Pivoting data so a linear list of values with two keys becomes a spreadsheet-like array. -
Rollup Unique User Counts
Technique for counting unique users -
Rowid Filtering Optimization
Rowid filtering is an optimization available from MariaDB 10.4. -
Sargable DATE and YEAR
DATE and YEAR conditions that can be efficiently used by the optimizer. -
Sargable UPPER
Starting from MariaDB 11.3, expressions in the form UPPER(key_col) = expr ... -
USE INDEX
Find rows in the table using only one of the named indexes.
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.