SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7
InnoDB Features
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
Satya Bodapati satya.bodapati@oracle.com
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
 Features
 Performance
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Partitions
Native Partitioning
Reduced memory overhead
Native partitioning is the default for InnoDB
mysql_upgrade will support metadata upgrade (no data copied)
Import/Export of Partitions (5.6 supports only non-partitioned tables)
ICP (Index condition pushdown) is now supported for partitions – better
query processing
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Partitions
Native Partitioning memory overhead improvement
Example Table with 8K partitions
CREATE TABLE `t1` (
`a` int(10) unsigned NOT NULL AUTO_INCREMENT,`b` varchar(1024) DEFAULT NULL, PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY HASH (a) PARTITIONS 8192;
Memory overhead comparison
One open instance uses 49 % less memory (111 MB vs 218 MB)
Ten open instances take 90 % less memory (113 MB vs 1166 MB)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Partitions
Import/Export support
Importing a single partition
# If the table doesn't already exist, create it
mysql> CREATE TABLE partitioned_table <same as the source>;
# Discard the tablespaces for the partitions to be restored
mysql> ALTER TABLE partitioned_table DISCARD PARTITION p1,p4 TABLESPACE;
# Copy the tablespace files
$ cp /path/to/backup/db-name/partitioned_table#P#p{1,4}.{ibd,cfg} /path/to/mysql-datadir/db-name/
# Import the tablespaces
mysql> ALTER TABLE partitioned_table IMPORT PARTITION p1,p4 TABLESPACE;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Tablespace management
General Tablespaces
SQL syntax for explicit tablespace management
CREATE TABLESPACE Logs ADD DATAFILE 'log01.ibd';
CREATE TABLE http_req(c1 varchar) TABLESPACE=Logs ;
ALTER TABLE some_table TABLESPACE=Logs;
DROP TABLESPACE Logs; - must be empty
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Buffer Pool
Dynamic buffer pool size re-size
Done in a separate thread
--innodb-buffer-pool-chunk-size – resize done in chunk size
Example:
SET GLOBAL innodb-buffer-pool-size=402653184;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : UNDO Truncate
UNDO Log Space Management
Requires separate UNDO tablespaces to work
•
--innodb-undo-log-truncate := on | off – default off
•
--innodb-max-undo-log-size – default 1G
•
--innodb-purge-rseg-truncate-frequency – default 128 - advanced
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Larger Page Sizes
Support for 32K and 64K Page Sizes
Larger BLOBs can be stored “on-page”
Better compression with the new transparent page compression
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : GIS
Spatial index
Implemented as an R-Tree
Supports all MySQL geometric types
Currently only 2D supported
Supports transactions & MVCC
Uses predicate locking to avoid phantom reads
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Virtual Columns and Index
on Virtual Columns in InnoDB (the JSON story)
Virtual column is not stored within the InnoDB table (unless indexed)
Only virtual column’s meta-data stored in the data dictionary
CREATE TABLE t (a INT, b INT, c INT GENERATED ALWAYS AS(a+b), PRIMARY KEY(a));
ALTER TABLE t ADD new_col INT GENERATED ALWAYS AS (a - b) VIRTUAL;
ALTER TABLEt ADD INDEX IDX(new_col);
Current limitations:
Primary Keys cannot contain any virtual columns
Spatial and fulltext index not supported (for now)
Cannot be used as a foreign key
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Virtual Columns and Index
on Virtual Columns in InnoDB (the JSON story)
mysql> CREATE TABLE jemp (
-> c JSON,
-> g INT GENERATED ALWAYS AS (c->"$.id"),
-> INDEX i (g)
-> );
Query OK, 0 rows affected (0.28 sec)
mysql> INSERT INTO jemp (c) VALUES
> ('{"id": "1", "name": "Fred"}'), ('{"id": "2", "name": "Wilma"}'),
> ('{"id": "3", "name": "Barney"}'), ('{"id": "4", "name": "Betty"}');
Query OK, 4 rows affected (0.04 sec)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Virtual Columns and Index
on Virtual Columns in InnoDB (the JSON story)
mysql> SELECT c->>"$.name" AS name
> FROM jemp WHERE g > 2;
+--------+
| name |
+--------+
| Barney |
| Betty |
+--------+
2 rows in set (0.00 sec)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Virtual Columns and Index
on Virtual Columns in InnoDB (the JSON story)
mysql> EXPLAIN SELECT c->>"$.name" AS name
> FROM jemp WHERE g > 2G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: jemp
partitions: NULL
type: range
possible_keys: i
key: i
key_len: 5
..
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : InnoDB Tablespace Encryption
Two tier encryption
Master Key
– Key ring plugin provides interface to manage the Master Key
– Only the Master Key Is rotated
Tablespace key (automatically generated)
– Stored in the tablespace header
– Encrypted with the Master Key
Algorithm: AES - block encryption mode(CBC)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : InnoDB Tablespace Encryption
Example:
Start the server with:
--early-plugin-load=keyring_file.so –keyring_file_data=./ring
CREATE TABLE t … ENCRYPTION=”Y”;
ALTER TABLE t ENCRYPTION=”N”, ALGORITHM=COPY;
FLUSH TABLES t FOR EXPORT;
Copy t.cfg, t.cfp and t.ibd to another server
ALTER TABLE t DISCARD TABLESPACE;
ALTER TABLE t IMPORT TABLESPACE;
Note: Only supports COPY
Limitations
– Doesn't encrypt the UNDO and REDO logs
– Doesn't encrypt shared and temporary tablespaces
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Full Text Search
Support for external parser (ngram, mecab)
For tokenizing the document and the query
Example:
CREATE TABLE t1 (
id INT AUTO_INCREMENT PRIMARY KEY,
doc CHAR(255), FULLTEXT INDEX (doc) WITH PARSER my_parser) ENGINE=InnoDB;
ALTER TABLE articles ADD FULLTEXT INDEX (body) WITH PARSER my_parser;
CREATE FULLTEXT INDEX ft_index ON articles(body) WITH PARSER my_parser;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Sandisk/FusionIO Atomic Writes
No new configuration variables
System wide setting
Disables the doublewrite buffer if the system tablespace is on NVMFS
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Transparent PageIO Compression
Proof of concept patch originally from FusionIO
Currently Linux/Windows only
Requires sparse file support : NVMFS, XFS, EXT4 & NTFS
Linux 2.6.39+ added PUNCH HOLE support
Can co-exist with current Zip tables
Only works on tablespaces that are not shared (file per table)
Doesn't work on the system tablespace
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Transparent PageIO Compression
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Zip compression
 Tested and tried, works well enough
 Complicates buffer pool code
 Special page format required
 No IO layer changes
 Algorithm supported - Zlib
 Can't compress system tablespace
 Can't compress UNDO tablespace
Features : Zip vs Page IO compression
PageIO compression
 Requires OS/FS support
 Simple
 Works with all file types, system tablespaces
 Potential fragmentation issues
 NVMFS doesn't suffer from fragmentation
 Adds to the cost of IO
 Current algorithms are tuned to existing
assumptions
 Requires multi-threaded flushing
 Easy to add new algorithms.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : PageIO Compression Benchmark
FusionIO – 25G BP – maxid 50 Million 64 Requesters - Linkbench
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Transparent PageIO Compression
New syntax
CREATE TABLE T(C INT) ENGINE=InnoDB, COMPRESSION=”ZLIB”;
CREATE TABLE T(C INT) ENGINE=InnoDB, COMPRESSION=”LZ4”;
ALTER TABLE T COMPRESSION=”LZ4”;
ALTER TABLE T COMPRESSION=”ZLIB”;
ALTER TABLE T COMPRESSION=”NONE”;
OPTIMIZE TABLE T;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Observability
Integrate PFS memory instrumentation with InnoDB
Memory allocated by InnoDB is accounted in PFS.
Start mysqld with –performance-schema-instrument='memory/%=on'
Monitor Buffer pool load and "ALTER TABLE" progress
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Features : Observability
Better SHOW ENGINE INNODB MUTEX;
mysql> show engine innodb mutex;
+--------+-----------------------------+---------+
| Type | Name | Status |
+--------+-----------------------------+---------+
| InnoDB | rwlock: log0log.cc:785 | waits=2 |
| InnoDB | sum rwlock: buf0buf.cc:1379 | waits=1 |
+--------+-----------------------------+---------+
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance improvements in 5.7 (brief)
 Transaction pools
 Transaction Life cycle improvements
 Faster CREATE/DROP of temporary tables
 Faster DMLs on temporary tables
 improved checksums on redo log (crc32)
 Better Buffer pool management (page ref_count -
atomic, multiple page cleaners)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance improvements in 5.7 (brief)
 Memcached improvements (1.1 M QPS with GETs)
 Index→lock optimization
 InnoDB Intrinsic tables (used by optimizer). Faster than
MyISAM, can help optimizer to save intermediate data
quickly.
 TRUNCATE TABLE is atomic
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance improvements in 5.7 (brief)
 Faster DDL. Build index bottom-up
 Split AHI – improvements in R/W workload when AHI
enabled
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance : Sysbench Point Selects
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance : Sysbench OLTP Read-Only
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance : Sysbench OLTP Read-Write
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Questions?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Thank You!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Ad

More Related Content

What's hot (20)

Language enhancements in cold fusion 11
Language enhancements in cold fusion 11Language enhancements in cold fusion 11
Language enhancements in cold fusion 11
ColdFusionConference
 
15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance
guest9912e5
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
Morgan Tocker
 
Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8
Websolutions Agency
 
SQL to Hive Cheat Sheet
SQL to Hive Cheat SheetSQL to Hive Cheat Sheet
SQL to Hive Cheat Sheet
Hortonworks
 
MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSON
Morgan Tocker
 
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi MensahPhp Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
 
Using existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analyticsUsing existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analytics
Microsoft Tech Community
 
Spark zeppelin-cassandra at synchrotron
Spark zeppelin-cassandra at synchrotronSpark zeppelin-cassandra at synchrotron
Spark zeppelin-cassandra at synchrotron
Duyhai Doan
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
MYXPLAIN
 
Drupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facetsDrupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facets
AnyforSoft
 
Docker4Drupal 2.1 for Development
Docker4Drupal 2.1 for DevelopmentDocker4Drupal 2.1 for Development
Docker4Drupal 2.1 for Development
Websolutions Agency
 
JSON in Solr: from top to bottom
JSON in Solr: from top to bottomJSON in Solr: from top to bottom
JSON in Solr: from top to bottom
Alexandre Rafalovitch
 
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
Cloudera, Inc.
 
Apache Hive Hook
Apache Hive HookApache Hive Hook
Apache Hive Hook
Minwoo Kim
 
Optimizing MySQL
Optimizing MySQLOptimizing MySQL
Optimizing MySQL
Morgan Tocker
 
Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Alex Zaballa
 
Oak / Solr integration
Oak / Solr integrationOak / Solr integration
Oak / Solr integration
Tommaso Teofili
 
Oracle Essentials Oracle Database 11g
Oracle Essentials   Oracle Database 11gOracle Essentials   Oracle Database 11g
Oracle Essentials Oracle Database 11g
Paola Andrea Gonzalez Montoya
 
Language enhancements in cold fusion 11
Language enhancements in cold fusion 11Language enhancements in cold fusion 11
Language enhancements in cold fusion 11
ColdFusionConference
 
15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance
guest9912e5
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
Morgan Tocker
 
Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8
Websolutions Agency
 
SQL to Hive Cheat Sheet
SQL to Hive Cheat SheetSQL to Hive Cheat Sheet
SQL to Hive Cheat Sheet
Hortonworks
 
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi MensahPhp Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
PHP Barcelona Conference
 
Using existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analyticsUsing existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analytics
Microsoft Tech Community
 
Spark zeppelin-cassandra at synchrotron
Spark zeppelin-cassandra at synchrotronSpark zeppelin-cassandra at synchrotron
Spark zeppelin-cassandra at synchrotron
Duyhai Doan
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
MYXPLAIN
 
Drupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facetsDrupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facets
AnyforSoft
 
Docker4Drupal 2.1 for Development
Docker4Drupal 2.1 for DevelopmentDocker4Drupal 2.1 for Development
Docker4Drupal 2.1 for Development
Websolutions Agency
 
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
Cloudera, Inc.
 
Apache Hive Hook
Apache Hive HookApache Hive Hook
Apache Hive Hook
Minwoo Kim
 
Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
Alex Zaballa
 

Similar to Inno db 5_7_features (20)

20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Ivan Ma
 
MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0
Manyi Lu
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
Morgan Tocker
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
Abel Flórez
 
Pluggable Databases: What they will break and why you should use them anyway!
Pluggable Databases: What they will break and why you should use them anyway!Pluggable Databases: What they will break and why you should use them anyway!
Pluggable Databases: What they will break and why you should use them anyway!
Guatemala User Group
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
jacobs_tuuri_performance
jacobs_tuuri_performancejacobs_tuuri_performance
jacobs_tuuri_performance
Hiroshi Ono
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
Mark Swarbrick
 
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
Mydbops
 
InnoDB: архитектура транзакционного хранилища (Константин Осипов)
InnoDB: архитектура транзакционного хранилища (Константин Осипов)InnoDB: архитектура транзакционного хранилища (Константин Осипов)
InnoDB: архитектура транзакционного хранилища (Константин Осипов)
Ontico
 
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
Insight Technology, Inc.
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
Mark Swarbrick
 
User Group3009
User Group3009User Group3009
User Group3009
sqlserver.co.il
 
MySQL 5.5
MySQL 5.5MySQL 5.5
MySQL 5.5
Ligaya Turmelle
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
Eduardo Castro
 
ClickHouse new features and development roadmap, by Aleksei Milovidov
ClickHouse new features and development roadmap, by Aleksei MilovidovClickHouse new features and development roadmap, by Aleksei Milovidov
ClickHouse new features and development roadmap, by Aleksei Milovidov
Altinity Ltd
 
MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017
Shinya Sugiyama
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
VLDB Administration Strategies
VLDB Administration StrategiesVLDB Administration Strategies
VLDB Administration Strategies
Murilo Miranda
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Ivan Ma
 
MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0
Manyi Lu
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
Morgan Tocker
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
Abel Flórez
 
Pluggable Databases: What they will break and why you should use them anyway!
Pluggable Databases: What they will break and why you should use them anyway!Pluggable Databases: What they will break and why you should use them anyway!
Pluggable Databases: What they will break and why you should use them anyway!
Guatemala User Group
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
jacobs_tuuri_performance
jacobs_tuuri_performancejacobs_tuuri_performance
jacobs_tuuri_performance
Hiroshi Ono
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
Mark Swarbrick
 
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
Mydbops
 
InnoDB: архитектура транзакционного хранилища (Константин Осипов)
InnoDB: архитектура транзакционного хранилища (Константин Осипов)InnoDB: архитектура транзакционного хранилища (Константин Осипов)
InnoDB: архитектура транзакционного хранилища (Константин Осипов)
Ontico
 
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
[db tech showcase Tokyo 2017] C23: Lessons from SQLite4 by SQLite.org - Richa...
Insight Technology, Inc.
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
Mark Swarbrick
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
Eduardo Castro
 
ClickHouse new features and development roadmap, by Aleksei Milovidov
ClickHouse new features and development roadmap, by Aleksei MilovidovClickHouse new features and development roadmap, by Aleksei Milovidov
ClickHouse new features and development roadmap, by Aleksei Milovidov
Altinity Ltd
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
VLDB Administration Strategies
VLDB Administration StrategiesVLDB Administration Strategies
VLDB Administration Strategies
Murilo Miranda
 
Ad

Recently uploaded (20)

Evonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdfEvonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdf
szhang13
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjjseninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
AjijahamadKhaji
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Control Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptxControl Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptx
vvsasane
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
introduction technology technology tec.pptx
introduction technology technology tec.pptxintroduction technology technology tec.pptx
introduction technology technology tec.pptx
Iftikhar70
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
Dynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptxDynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptx
University of Glasgow
 
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdfML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
rameshwarchintamani
 
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Guru
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
JRR Tolkien’s Lord of the Rings: Was It Influenced by Nordic Mythology, Homer...
JRR Tolkien’s Lord of the Rings: Was It Influenced by Nordic Mythology, Homer...JRR Tolkien’s Lord of the Rings: Was It Influenced by Nordic Mythology, Homer...
JRR Tolkien’s Lord of the Rings: Was It Influenced by Nordic Mythology, Homer...
Reflections on Morality, Philosophy, and History
 
Novel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth ControlNovel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth Control
Chris Harding
 
Understanding Structural Loads and Load Paths
Understanding Structural Loads and Load PathsUnderstanding Structural Loads and Load Paths
Understanding Structural Loads and Load Paths
University of Kirkuk
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Working with USDOT UTCs: From Conception to Implementation
Working with USDOT UTCs: From Conception to ImplementationWorking with USDOT UTCs: From Conception to Implementation
Working with USDOT UTCs: From Conception to Implementation
Alabama Transportation Assistance Program
 
Evonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdfEvonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdf
szhang13
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjjseninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
AjijahamadKhaji
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Control Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptxControl Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptx
vvsasane
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
introduction technology technology tec.pptx
introduction technology technology tec.pptxintroduction technology technology tec.pptx
introduction technology technology tec.pptx
Iftikhar70
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
Dynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptxDynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptx
University of Glasgow
 
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdfML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
rameshwarchintamani
 
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Guru
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Novel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth ControlNovel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth Control
Chris Harding
 
Understanding Structural Loads and Load Paths
Understanding Structural Loads and Load PathsUnderstanding Structural Loads and Load Paths
Understanding Structural Loads and Load Paths
University of Kirkuk
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Ad

Inno db 5_7_features

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7 InnoDB Features Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Satya Bodapati satya.bodapati@oracle.com
  • 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda  Features  Performance
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Partitions Native Partitioning Reduced memory overhead Native partitioning is the default for InnoDB mysql_upgrade will support metadata upgrade (no data copied) Import/Export of Partitions (5.6 supports only non-partitioned tables) ICP (Index condition pushdown) is now supported for partitions – better query processing
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Partitions Native Partitioning memory overhead improvement Example Table with 8K partitions CREATE TABLE `t1` ( `a` int(10) unsigned NOT NULL AUTO_INCREMENT,`b` varchar(1024) DEFAULT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY HASH (a) PARTITIONS 8192; Memory overhead comparison One open instance uses 49 % less memory (111 MB vs 218 MB) Ten open instances take 90 % less memory (113 MB vs 1166 MB)
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Partitions Import/Export support Importing a single partition # If the table doesn't already exist, create it mysql> CREATE TABLE partitioned_table <same as the source>; # Discard the tablespaces for the partitions to be restored mysql> ALTER TABLE partitioned_table DISCARD PARTITION p1,p4 TABLESPACE; # Copy the tablespace files $ cp /path/to/backup/db-name/partitioned_table#P#p{1,4}.{ibd,cfg} /path/to/mysql-datadir/db-name/ # Import the tablespaces mysql> ALTER TABLE partitioned_table IMPORT PARTITION p1,p4 TABLESPACE;
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Tablespace management General Tablespaces SQL syntax for explicit tablespace management CREATE TABLESPACE Logs ADD DATAFILE 'log01.ibd'; CREATE TABLE http_req(c1 varchar) TABLESPACE=Logs ; ALTER TABLE some_table TABLESPACE=Logs; DROP TABLESPACE Logs; - must be empty
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Buffer Pool Dynamic buffer pool size re-size Done in a separate thread --innodb-buffer-pool-chunk-size – resize done in chunk size Example: SET GLOBAL innodb-buffer-pool-size=402653184;
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : UNDO Truncate UNDO Log Space Management Requires separate UNDO tablespaces to work • --innodb-undo-log-truncate := on | off – default off • --innodb-max-undo-log-size – default 1G • --innodb-purge-rseg-truncate-frequency – default 128 - advanced
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Larger Page Sizes Support for 32K and 64K Page Sizes Larger BLOBs can be stored “on-page” Better compression with the new transparent page compression
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : GIS Spatial index Implemented as an R-Tree Supports all MySQL geometric types Currently only 2D supported Supports transactions & MVCC Uses predicate locking to avoid phantom reads
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Virtual Columns and Index on Virtual Columns in InnoDB (the JSON story) Virtual column is not stored within the InnoDB table (unless indexed) Only virtual column’s meta-data stored in the data dictionary CREATE TABLE t (a INT, b INT, c INT GENERATED ALWAYS AS(a+b), PRIMARY KEY(a)); ALTER TABLE t ADD new_col INT GENERATED ALWAYS AS (a - b) VIRTUAL; ALTER TABLEt ADD INDEX IDX(new_col); Current limitations: Primary Keys cannot contain any virtual columns Spatial and fulltext index not supported (for now) Cannot be used as a foreign key
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Virtual Columns and Index on Virtual Columns in InnoDB (the JSON story) mysql> CREATE TABLE jemp ( -> c JSON, -> g INT GENERATED ALWAYS AS (c->"$.id"), -> INDEX i (g) -> ); Query OK, 0 rows affected (0.28 sec) mysql> INSERT INTO jemp (c) VALUES > ('{"id": "1", "name": "Fred"}'), ('{"id": "2", "name": "Wilma"}'), > ('{"id": "3", "name": "Barney"}'), ('{"id": "4", "name": "Betty"}'); Query OK, 4 rows affected (0.04 sec)
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Virtual Columns and Index on Virtual Columns in InnoDB (the JSON story) mysql> SELECT c->>"$.name" AS name > FROM jemp WHERE g > 2; +--------+ | name | +--------+ | Barney | | Betty | +--------+ 2 rows in set (0.00 sec)
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Virtual Columns and Index on Virtual Columns in InnoDB (the JSON story) mysql> EXPLAIN SELECT c->>"$.name" AS name > FROM jemp WHERE g > 2G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: jemp partitions: NULL type: range possible_keys: i key: i key_len: 5 ..
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : InnoDB Tablespace Encryption Two tier encryption Master Key – Key ring plugin provides interface to manage the Master Key – Only the Master Key Is rotated Tablespace key (automatically generated) – Stored in the tablespace header – Encrypted with the Master Key Algorithm: AES - block encryption mode(CBC)
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : InnoDB Tablespace Encryption Example: Start the server with: --early-plugin-load=keyring_file.so –keyring_file_data=./ring CREATE TABLE t … ENCRYPTION=”Y”; ALTER TABLE t ENCRYPTION=”N”, ALGORITHM=COPY; FLUSH TABLES t FOR EXPORT; Copy t.cfg, t.cfp and t.ibd to another server ALTER TABLE t DISCARD TABLESPACE; ALTER TABLE t IMPORT TABLESPACE; Note: Only supports COPY Limitations – Doesn't encrypt the UNDO and REDO logs – Doesn't encrypt shared and temporary tablespaces
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Full Text Search Support for external parser (ngram, mecab) For tokenizing the document and the query Example: CREATE TABLE t1 ( id INT AUTO_INCREMENT PRIMARY KEY, doc CHAR(255), FULLTEXT INDEX (doc) WITH PARSER my_parser) ENGINE=InnoDB; ALTER TABLE articles ADD FULLTEXT INDEX (body) WITH PARSER my_parser; CREATE FULLTEXT INDEX ft_index ON articles(body) WITH PARSER my_parser;
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Sandisk/FusionIO Atomic Writes No new configuration variables System wide setting Disables the doublewrite buffer if the system tablespace is on NVMFS
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Transparent PageIO Compression Proof of concept patch originally from FusionIO Currently Linux/Windows only Requires sparse file support : NVMFS, XFS, EXT4 & NTFS Linux 2.6.39+ added PUNCH HOLE support Can co-exist with current Zip tables Only works on tablespaces that are not shared (file per table) Doesn't work on the system tablespace
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Transparent PageIO Compression
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Zip compression  Tested and tried, works well enough  Complicates buffer pool code  Special page format required  No IO layer changes  Algorithm supported - Zlib  Can't compress system tablespace  Can't compress UNDO tablespace Features : Zip vs Page IO compression PageIO compression  Requires OS/FS support  Simple  Works with all file types, system tablespaces  Potential fragmentation issues  NVMFS doesn't suffer from fragmentation  Adds to the cost of IO  Current algorithms are tuned to existing assumptions  Requires multi-threaded flushing  Easy to add new algorithms.
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : PageIO Compression Benchmark FusionIO – 25G BP – maxid 50 Million 64 Requesters - Linkbench
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Transparent PageIO Compression New syntax CREATE TABLE T(C INT) ENGINE=InnoDB, COMPRESSION=”ZLIB”; CREATE TABLE T(C INT) ENGINE=InnoDB, COMPRESSION=”LZ4”; ALTER TABLE T COMPRESSION=”LZ4”; ALTER TABLE T COMPRESSION=”ZLIB”; ALTER TABLE T COMPRESSION=”NONE”; OPTIMIZE TABLE T;
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Observability Integrate PFS memory instrumentation with InnoDB Memory allocated by InnoDB is accounted in PFS. Start mysqld with –performance-schema-instrument='memory/%=on' Monitor Buffer pool load and "ALTER TABLE" progress
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Features : Observability Better SHOW ENGINE INNODB MUTEX; mysql> show engine innodb mutex; +--------+-----------------------------+---------+ | Type | Name | Status | +--------+-----------------------------+---------+ | InnoDB | rwlock: log0log.cc:785 | waits=2 | | InnoDB | sum rwlock: buf0buf.cc:1379 | waits=1 | +--------+-----------------------------+---------+
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance improvements in 5.7 (brief)  Transaction pools  Transaction Life cycle improvements  Faster CREATE/DROP of temporary tables  Faster DMLs on temporary tables  improved checksums on redo log (crc32)  Better Buffer pool management (page ref_count - atomic, multiple page cleaners)
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance improvements in 5.7 (brief)  Memcached improvements (1.1 M QPS with GETs)  Index→lock optimization  InnoDB Intrinsic tables (used by optimizer). Faster than MyISAM, can help optimizer to save intermediate data quickly.  TRUNCATE TABLE is atomic
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance improvements in 5.7 (brief)  Faster DDL. Build index bottom-up  Split AHI – improvements in R/W workload when AHI enabled
  • 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance : Sysbench Point Selects
  • 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance : Sysbench OLTP Read-Only
  • 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance : Sysbench OLTP Read-Write
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Questions? Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Thank You! Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  翻译: