Different query optimizations and how you can use and tune them to get better performance.
| Title | Description |
|---|---|
| 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 |
| MIN/MAX optimization | How MIN and MAX are optimized |
| Filesort with Small LIMIT Optimization | MariaDB 10's filesort with small LIMIT optimization |
| LIMIT ROWS EXAMINED | Means to terminate execution of SELECTs that examine too many rows |
| Block-Based Join Algorithms | Algorithms that employ a join buffer for the first join before starting to look in the second. |
| 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. |
| Extended Keys | Optimization using InnoDB/XtraDB key components to generate more efficient execution plans. |
| 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 |
| 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 |
| 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) |
| IGNORE INDEX | Tell the optimizer to not consider a particular index. |
| 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 in MariaDB 10.4. Its target use case is ... |
| USE INDEX | Find rows in the table using only one of the named indexes. |
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/query-optimizations/