MySQL是一款非常流行的開源數(shù)據(jù)庫管理系統(tǒng),它的新版本MySQL 5.7帶來了許多令人興奮的新特性,讓我們來一起探索。
1. 改進(jìn)的JSON支持
SELECT JSON_EXTRACT('{"id": 1, "name": "John"}', '$.id');
# 返回1
2. 多源復(fù)制
CHANGE MASTER TO
MASTER_HOST='192.168.1.100', MASTER_PORT=3306,
MASTER_USER='replication', MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
CHANGE REPLICATION FILTER REPLICATE_DO_DB = (db1, db2);
3. 更直觀的分區(qū)語法
CREATE TABLE employees (
id INT NOT NULL,
birth_date DATE NOT NULL,
first_name VARCHAR(14) NOT NULL,
last_name VARCHAR(16) NOT NULL,
gender ENUM('M','F') NOT NULL,
hire_date DATE NOT NULL
)
PARTITION BY RANGE(YEAR(hire_date)) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1996),
PARTITION p2 VALUES LESS THAN (2001),
PARTITION p3 VALUES LESS THAN (2006),
PARTITION p4 VALUES LESS THAN (2011),
PARTITION p5 VALUES LESS THAN (2016),
PARTITION p6 VALUES LESS THAN MAXVALUE
);
4. 去除不建議使用的語法
SELECT * FROM mytable WHERE col1=1 AND col2=2 AND col3=3 OR col4=4 AND col5=5;
# 5.5及以前會將col1=1 AND col2=2 AND col3=3 OR col4=4當(dāng)作整體,5.6及以后將使用AND優(yōu)先級高于OR
除了以上幾個新特性,MySQL 5.7還提供了更好的性能、更高的安全性、更好的可伸縮性等等。如果你使用MySQL作為你的數(shù)據(jù)庫管理系統(tǒng),那么你不應(yīng)該錯過這個版本。