Summary of MySQL partitioning_MySQL
Foreword
Partitioning refers to decomposing a large table into multiple smaller parts according to certain rules. The rules here are generally to use partitioning rules to split the table horizontally; the logic has not changed but in fact the table has been split into Multiple physical objects are created, each divided into an independent object. Compared with a single table without partitions, a partitioned table has many advantages, including: concurrent statistical queries, fast archiving and deletion of partitioned data, decentralized storage, and better query performance.
Mysql5.7 and later query statements support specified partitions. For example: "SELECT * FROM t PARTITION (p0,p1) WHERE c < 5
" The same applies to specified partitionsDELETE, INSERT, REPLACE, UPDATE, and LOAD DATA, LOAD XML
.
Database version: mysql5.7.12
Whether it supports partitions
SHOW PLUGINS ;
If the status of the query partition is active, it means that partitioning is supported. If it is a source code installation, add "-DWITH_PARTITION_STORAGE_ENGINE=1
" during the compilation process.
Note: MERGE, CSV, or FEDERATED storage engines do not support partitioning. All partitions of the same table must use the same storage engine. You cannot use MYISAM for partition 1 and INNODB for partition 2; different partition tables can use different storage engines. .
Introduction to Partitions
At present, the partition types available for mysql mainly include the following:
RANGE partitioning: Based on a given continuous interval range, RANGE is mainly based on integer partitioning. For non-integer fields, expressions need to be used to convert them into integers.
LIST partitioning: is partitioned based on the listed list of enumeration values.
COLUMNS partition: Can directly partition non-integer fields without conversion through expressions. At the same time, COLUMNS partition also supports multiple field combination partitions. Only RANGELIST has COLUMNS partition. COLUMNS is an upgrade of RANGE and LIST partitions.
HASH partitioning: Distribute data to different partitions based on the given number of partitions. HASH partitioning can only HASH integers, and non-integer fields can only be converted into integers through expressions.
KEY partitioning: Supports partitioning of all data types except text and BLOB. Key partitioning can be partitioned directly based on fields without conversion to integers.
Instructions
1. Pay attention to the case sensitivity of partition names and keyword issues.
2. Regardless of the partition type, either there is no primary key or unique key in the partitioned table, or the primary key or unique key is included in the partition column. For tables with primary keys or unique keys, fields other than the primary key or unique key cannot be used as partitions. field.
前 The previous version of the 3.5.7 version shows the execution plan of the partition: Explain Partitions; after 5.74. There is no mandatory requirement for the partition column to be non-null. It is recommended that the partition column be NOT NULL. In the RANGE partition, if a NULL value is inserted into the partition column, it will be treated as the smallest value. In the LIST partition, the NULL value must be In the enumeration list, otherwise the insertion fails, and NULL values in the HASH/KEY partition will be treated as 0.
5. Mysql provides conversion functions based on time type fields "YEAR(), MONTH(), DAY(), TO_DAYS(), TO_SECONDS(), WEEKDAY(), DAYOFYEAR()"
6. After splitting and merging partitions, the statistical information of the modified partition will be invalid. The statistical information of the unmodified partition will still be there, and it will not affect the addition of the newly inserted value to the statistical information. At this time, the Analyze operation needs to be performed on the table.
7. It is recommended to use COLUMNS partitioning for RANGLIST partitioning of non-integer fields.
Delete and add partitionsThe usage of each partition is introduced in detail in the introduction of each partition, but they all introduce the creation of partitions and the modification and deletion of individual partitions when creating a table. You can also add partitions to an existing table, which can be done all at once. Delete the entire table partition.
1. Remove the table partition
ALTER TABLE tablename REMOVE PARTITIONING ;
2. Create a partition for a table that already has records. Take adding a range partition as an example. The syntax is the same as creating a table and creating a partition.
ALTER TABLE `tb_partition`.`tb_varchar` PARTITION BY RANGE(id) PARTITIONS 3( PARTITION part0 VALUES LESS THAN (5000), PARTITION part1 VALUES LESS THAN (10000), PARTITION part2 VALUES LESS THAN (MAXVALUE)) ;
Summary
The above is the entire introduction and summary of MySQL partitioning. I hope this article will be helpful to everyone when using mysql.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

MySQL and SQL are essential skills for developers. 1.MySQL is an open source relational database management system, and SQL is the standard language used to manage and operate databases. 2.MySQL supports multiple storage engines through efficient data storage and retrieval functions, and SQL completes complex data operations through simple statements. 3. Examples of usage include basic queries and advanced queries, such as filtering and sorting by condition. 4. Common errors include syntax errors and performance issues, which can be optimized by checking SQL statements and using EXPLAIN commands. 5. Performance optimization techniques include using indexes, avoiding full table scanning, optimizing JOIN operations and improving code readability.

You can create a new MySQL connection in Navicat by following the steps: Open the application and select New Connection (Ctrl N). Select "MySQL" as the connection type. Enter the hostname/IP address, port, username, and password. (Optional) Configure advanced options. Save the connection and enter the connection name.

Steps to perform SQL in Navicat: Connect to the database. Create a SQL Editor window. Write SQL queries or scripts. Click the Run button to execute a query or script. View the results (if the query is executed).

Common errors and solutions when connecting to databases: Username or password (Error 1045) Firewall blocks connection (Error 2003) Connection timeout (Error 10060) Unable to use socket connection (Error 1042) SSL connection error (Error 10055) Too many connection attempts result in the host being blocked (Error 1129) Database does not exist (Error 1049) No permission to connect to database (Error 1000)
