Search Results
https://dev.mysql.com/doc/refman/8.4/en/optimizer-issues.html
In many cases, MySQL can calculate the best possible query plan, but sometimes MySQL does not have enough information about the data at hand and has to make “educated” guesses about the data. For the cases when MySQL does not do the "right" ...
https://dev.mysql.com/doc/refman/8.4/en/optimizing-innodb-logging.html
Thus, if you have transactions that update, insert, or delete many rows, making the log buffer larger saves disk I/O. Setting the value too high may have a slight impact on fsync performance for log file writes due to several blocks being written at ... Consider the following guidelines for optimizing redo logging: Increase the size of your redo log ...
https://dev.mysql.com/doc/refman/8.4/en/optimizing-innodb-transaction-management.html
When rows are modified or deleted within a long-running transaction, other transactions using the READ COMMITTED and REPEATABLE READ isolation levels have to do more work to reconstruct the older data if they read those same rows. If secondary index ... To optimize InnoDB transaction processing, find the ideal balance between the performance overhead of transactional features and the workload of your ...
https://dev.mysql.com/doc/refman/8.4/en/option-modifiers.html
To disable column names, you can specify the option using any of these forms: --disable-column-names --skip-column-names --column-names=0 The --disable and --skip prefixes and the =0 suffix all have the same effect: They turn the option off. The ...
https://dev.mysql.com/doc/refman/8.4/en/out-of-range-and-overflow.html
If no restrictive modes are enabled, MySQL clips the value to the appropriate endpoint of the column data type range and stores the resulting value instead. When an out-of-range value is assigned to an integer column, MySQL stores the value ...
https://dev.mysql.com/doc/refman/8.4/en/outer-join-optimization.html
MySQL implements an A LEFT JOIN B join_specification as follows: Table B is set to depend on table A and all tables on which A depends. Table A is set to depend on all tables (except B) that are used in the LEFT JOIN condition. The LEFT JOIN ...
https://dev.mysql.com/doc/refman/8.4/en/packet-too-large.html
Both the client and the server have their own max_allowed_packet variable, so if you want to handle big packets, you must increase this variable both in the client and in the server. You can also get strange problems with large packets if you are ...
https://dev.mysql.com/doc/refman/8.4/en/partitioning-key.html
(In this case, simply using PARTITION BY KEY() would also be valid and have the same effect as PARTITION BY KEY(s1), since s1 is the table's primary key.) For additional information about this issue, see Section 26.6, “Restrictions and Limitations ... Partitioning by key is similar to partitioning by hash, except that where hash partitioning employs a user-defined expression, the hashing function for key partitioning is supplied by the MySQL ...
https://dev.mysql.com/doc/refman/8.4/en/partitioning-linear-hash.html
MySQL also supports linear hashing, which differs from regular hashing in that linear hashing utilizes a linear powers-of-two algorithm whereas regular hashing employs the modulus of the hashing function's value. We call this value V; it can be ...
https://dev.mysql.com/doc/refman/8.4/en/partitioning-pruning.html
So far, we have looked only at examples using RANGE partitioning, but pruning can be applied with other partitioning types as well. The optimization known as partition pruning is based on a relatively simple concept which can be described as “Do ...