https://dev.mysql.com/optimize-character.html
When you use a randomly generated value as a primary key in an InnoDB table, prefix it with an ascending value such as the current date and time if possible. For character and string columns, follow these guidelines: Use binary collation order for ...
https://dev.mysql.com/optimizing-innodb-diskio.html
(Measure at a time when the server is not doing bulk inserts; it is normal during bulk inserts for the modified pages percentage to rise significantly.) Log sequence number - Last checkpoint is at less than 7/8 or ideally less than 6/8 of the total ... If you follow best practices for database design and tuning techniques for SQL operations, but your database is still slow due to heavy disk I/O activity, consider these disk I/O ...
https://dev.mysql.com/optimizing-innodb-queries.html
Follow these guidelines for InnoDB indexes: Because each InnoDB table has a primary key (whether you request one or not), specify a set of primary key columns for each table, columns that are used in the most important and time-critical queries. To ...
https://dev.mysql.com/optimizing-innodb-storage-layout.html
You may find that there are significant gains for some and not for others, or that the gains decrease over time until you next optimize the table. Once your data reaches a stable size, or a growing table has increased by tens or some hundreds of ...
https://dev.mysql.com/option-files.html
Most MySQL programs can read startup options from option files (sometimes called configuration files). Option files provide a convenient way to specify commonly used options so that they need not be entered on the command line each time you run a ...To determine whether a program reads option files, invoke it with the --help ...
https://dev.mysql.com/other-vendor-data-types.html
To facilitate the use of code written for SQL implementations from other vendors, MySQL maps data types as shown in the following table. These mappings make it easier to import table definitions from other database systems into MySQL. If you create ...
https://dev.mysql.com/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/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/partitioning-columns.html
Columns using other data types relating to dates or times are not supported as partitioning columns. The next two sections discuss COLUMNS partitioning, which are variants on RANGE and LIST partitioning. COLUMNS partitioning enables the use of ...
https://dev.mysql.com/partitioning-management-range-list.html
SELECT ..., then drop the old table and rename the new one, but this could be very time-consuming when dealing with a large amounts of data. Adding and dropping of range and list partitions are handled in a similar fashion, so we discuss the ...