Submit Search
Upload
My sql 5.6-new-stable-mmug
•
1 like
•
933 views
Andrey Tokarchuk
Follow
Доклад Дмитрия Ленева на Moscow MySQL User Group.
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 32
Download now
Download to read offline
Recommended
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
Technopark
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
Technopark
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
Technopark
Лекция 10. Apache Mahout
Лекция 10. Apache Mahout
Technopark
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1
Nikolay Samokhvalov
Recommended
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
Technopark
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
Technopark
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
Technopark
Лекция 10. Apache Mahout
Лекция 10. Apache Mahout
Technopark
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
#PostgreSQLRussia в банке Тинькофф, доклад №1
#PostgreSQLRussia в банке Тинькофф, доклад №1
Nikolay Samokhvalov
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
DevDay
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложений
Sveta Smirnova
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.
Sergey Petrunya
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практике
Sveta Smirnova
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9
Technopark
Эффективное программирование на NodeJS
Эффективное программирование на NodeJS
Yura Bogdanov
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
Расширения для PostgreSQL
Расширения для PostgreSQL
Anastasia Lubennikova
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
Alexey Kovyazin
JDBC
JDBC
Unguryan Vitaliy
Реляционные базы данных
Реляционные базы данных
Levon Avakyan
Aleksey Mashanov Rit
Aleksey Mashanov Rit
rit2010
Query perfomance tuning
Query perfomance tuning
collabock
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
Программирование как способ выражения мыслей.
Программирование как способ выражения мыслей.
Levon Avakyan
Entity framework
Entity framework
Scaiper
MySQL Optimization. Russian
MySQL Optimization. Russian
Rawan Qurmet
Введение в hibernate
Введение в hibernate
Unguryan Vitaliy
Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
Ti25 brochure
Ti25 brochure
FlukeinMalta
Bio 120 presentation 1
Bio 120 presentation 1
desntay2
More Related Content
What's hot
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
DevDay
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложений
Sveta Smirnova
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.
Sergey Petrunya
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практике
Sveta Smirnova
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9
Technopark
Эффективное программирование на NodeJS
Эффективное программирование на NodeJS
Yura Bogdanov
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
Расширения для PostgreSQL
Расширения для PostgreSQL
Anastasia Lubennikova
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
Alexey Kovyazin
JDBC
JDBC
Unguryan Vitaliy
Реляционные базы данных
Реляционные базы данных
Levon Avakyan
Aleksey Mashanov Rit
Aleksey Mashanov Rit
rit2010
Query perfomance tuning
Query perfomance tuning
collabock
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
Программирование как способ выражения мыслей.
Программирование как способ выражения мыслей.
Levon Avakyan
Entity framework
Entity framework
Scaiper
MySQL Optimization. Russian
MySQL Optimization. Russian
Rawan Qurmet
Введение в hibernate
Введение в hibernate
Unguryan Vitaliy
Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
What's hot
(20)
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
Введение в отладку производительности MySQL приложений
Введение в отладку производительности MySQL приложений
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.
Новые возможности отладки MySQL 5.7 на практике
Новые возможности отладки MySQL 5.7 на практике
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9
Эффективное программирование на NodeJS
Эффективное программирование на NodeJS
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Расширения для PostgreSQL
Расширения для PostgreSQL
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)
JDBC
JDBC
Реляционные базы данных
Реляционные базы данных
Aleksey Mashanov Rit
Aleksey Mashanov Rit
Query perfomance tuning
Query perfomance tuning
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Программирование как способ выражения мыслей.
Программирование как способ выражения мыслей.
Entity framework
Entity framework
MySQL Optimization. Russian
MySQL Optimization. Russian
Введение в hibernate
Введение в hibernate
Java осень 2014 занятие 8
Java осень 2014 занятие 8
Viewers also liked
Ti25 brochure
Ti25 brochure
FlukeinMalta
Bio 120 presentation 1
Bio 120 presentation 1
desntay2
Catholic cross culutral servicesl - nov 21, 2010
Catholic cross culutral servicesl - nov 21, 2010
The Scarborough Hospital
Fcds mid term-Rules of the Road Test 10/26/11
Fcds mid term-Rules of the Road Test 10/26/11
dalufcds
Scope & sequence 2010
Scope & sequence 2010
vpreddey
La web 2
La web 2
Felipe Solís
ProtectIV
ProtectIV
Henrique Outeda
Prezentare liceu
Prezentare liceu
Pishta Bmc
Is Any Access Good Access? Equitable digital access in rural schools
Is Any Access Good Access? Equitable digital access in rural schools
pjames04
Ti32 Data Sheet
Ti32 Data Sheet
FlukeinMalta
Ellis island
Ellis island
leslyn0329
Krydret kylling saute og quinoa
Krydret kylling saute og quinoa
heleverdeniskole
I patten tataotao
I patten tataotao
AustinDamian
Confiance Newsletter:Take it to the bank
Confiance Newsletter:Take it to the bank
Confiance Australia
Evgeniy chilevskiy
Evgeniy chilevskiy
Andrey Tokarchuk
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Liyao Chen
Fluke TiR32
Fluke TiR32
FlukeinMalta
Chapter 10 presentation
Chapter 10 presentation
desntay2
Powerpoint presentation (smart phones)
Powerpoint presentation (smart phones)
Mongiwethu Kumalo
ASP.NET MVC 3
ASP.NET MVC 3
Uğur Umutluoğlu
Viewers also liked
(20)
Ti25 brochure
Ti25 brochure
Bio 120 presentation 1
Bio 120 presentation 1
Catholic cross culutral servicesl - nov 21, 2010
Catholic cross culutral servicesl - nov 21, 2010
Fcds mid term-Rules of the Road Test 10/26/11
Fcds mid term-Rules of the Road Test 10/26/11
Scope & sequence 2010
Scope & sequence 2010
La web 2
La web 2
ProtectIV
ProtectIV
Prezentare liceu
Prezentare liceu
Is Any Access Good Access? Equitable digital access in rural schools
Is Any Access Good Access? Equitable digital access in rural schools
Ti32 Data Sheet
Ti32 Data Sheet
Ellis island
Ellis island
Krydret kylling saute og quinoa
Krydret kylling saute og quinoa
I patten tataotao
I patten tataotao
Confiance Newsletter:Take it to the bank
Confiance Newsletter:Take it to the bank
Evgeniy chilevskiy
Evgeniy chilevskiy
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Fluke TiR32
Fluke TiR32
Chapter 10 presentation
Chapter 10 presentation
Powerpoint presentation (smart phones)
Powerpoint presentation (smart phones)
ASP.NET MVC 3
ASP.NET MVC 3
Similar to My sql 5.6-new-stable-mmug
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
MySQL 8.0
MySQL 8.0
Vittorio Cioe
Oracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памяти
Andrey Akulov
Новые возможности языка SQL в Firebird 3.0
Новые возможности языка SQL в Firebird 3.0
Alexey Kovyazin
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
Михаил Тюрин
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Ontico
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
Alex V. Petrov
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
DEPO Computers
Народные средства оптимизации PostgreSQL
Народные средства оптимизации PostgreSQL
Nikolay Pisarev
Использование Sedna в WEB
Использование Sedna в WEB
Alexandre Kalendarev
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
phpdevby
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
django-and-postgresql
django-and-postgresql
Oleg Churkin
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
Devconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-features
Sergey Petrunya
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
Technopark
PostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. Молодёжно
Vladislav Bezverhiy
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
Обзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов Oracle
BAKOTECH
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
Badoo Development
Similar to My sql 5.6-new-stable-mmug
(20)
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
MySQL 8.0
MySQL 8.0
Oracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памяти
Новые возможности языка SQL в Firebird 3.0
Новые возможности языка SQL в Firebird 3.0
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
Народные средства оптимизации PostgreSQL
Народные средства оптимизации PostgreSQL
Использование Sedna в WEB
Использование Sedna в WEB
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
django-and-postgresql
django-and-postgresql
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Devconf2010 mariadb-extra-features
Devconf2010 mariadb-extra-features
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
PostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. Молодёжно
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать о трёх топовых фичах MySQL
Обзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов Oracle
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
More from Andrey Tokarchuk
Nsx 6.2
Nsx 6.2
Andrey Tokarchuk
Vrealize automotion
Vrealize automotion
Andrey Tokarchuk
Vmware any-cloud
Vmware any-cloud
Andrey Tokarchuk
Nvidia grid-2
Nvidia grid-2
Andrey Tokarchuk
Интеллектуальная собственность в IT
Интеллектуальная собственность в IT
Andrey Tokarchuk
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was cool
Andrey Tokarchuk
Тестируем инфраструктуру как код
Тестируем инфраструктуру как код
Andrey Tokarchuk
OpenStack сегодня
OpenStack сегодня
Andrey Tokarchuk
Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015
Andrey Tokarchuk
писатели юбиляры
писатели юбиляры
Andrey Tokarchuk
Модули в zend framework 2.ростислав михайлив
Модули в zend framework 2.ростислав михайлив
Andrey Tokarchuk
Zend cache evolution.владимир дубина
Zend cache evolution.владимир дубина
Andrey Tokarchuk
Очередь задач и многопоточность с помощью gearman и zf.станислав прокопив
Очередь задач и многопоточность с помощью gearman и zf.станислав прокопив
Andrey Tokarchuk
Highload не кусается.антон шевчук
Highload не кусается.антон шевчук
Andrey Tokarchuk
Соблазнительные формы в zend framework 2.даниил кожемяко
Соблазнительные формы в zend framework 2.даниил кожемяко
Andrey Tokarchuk
mms или как просто работать с моделями данных.иван кутузов
mms или как просто работать с моделями данных.иван кутузов
Andrey Tokarchuk
Cобытийная модель zend framework 2, event manager. александр вронский
Cобытийная модель zend framework 2, event manager. александр вронский
Andrey Tokarchuk
My sql
My sql
Andrey Tokarchuk
Mongo
Mongo
Andrey Tokarchuk
Rasmus
Rasmus
Andrey Tokarchuk
More from Andrey Tokarchuk
(20)
Nsx 6.2
Nsx 6.2
Vrealize automotion
Vrealize automotion
Vmware any-cloud
Vmware any-cloud
Nvidia grid-2
Nvidia grid-2
Интеллектуальная собственность в IT
Интеллектуальная собственность в IT
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was cool
Тестируем инфраструктуру как код
Тестируем инфраструктуру как код
OpenStack сегодня
OpenStack сегодня
Релиз PHP7 - что нас ждет в октябре 2015
Релиз PHP7 - что нас ждет в октябре 2015
писатели юбиляры
писатели юбиляры
Модули в zend framework 2.ростислав михайлив
Модули в zend framework 2.ростислав михайлив
Zend cache evolution.владимир дубина
Zend cache evolution.владимир дубина
Очередь задач и многопоточность с помощью gearman и zf.станислав прокопив
Очередь задач и многопоточность с помощью gearman и zf.станислав прокопив
Highload не кусается.антон шевчук
Highload не кусается.антон шевчук
Соблазнительные формы в zend framework 2.даниил кожемяко
Соблазнительные формы в zend framework 2.даниил кожемяко
mms или как просто работать с моделями данных.иван кутузов
mms или как просто работать с моделями данных.иван кутузов
Cобытийная модель zend framework 2, event manager. александр вронский
Cобытийная модель zend framework 2, event manager. александр вронский
My sql
My sql
Mongo
Mongo
Rasmus
Rasmus
My sql 5.6-new-stable-mmug
1.
<Insert Picture Here> 5.6
новая стабильная ветка MySQL Server. Дмитрий Ленев, Март 2013, Москва
2.
MySQL 5.6
● Текущая версия – 5.6.10 ● Это первая стабильная версия (GA) в 5.6 выпущена в начале февраля 2013 года ● До этого 3 RC версии с сентября 2012 ● Базируется на Milestone Release версии 5.6.6- m9 (август 2012) ● Старые ветки 5.1 и 5.5 по прежнему поддерживаются ● Новая development ветка 5.7 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
3.
Основные направления улучшений
в MySQL 5.6 ● Оптимизатор/выполнение запросов ● InnoDB ● Репликация ● Расширение типов и новые операции ● Улучшения в безопасности ● performance_schema ● Memcached API для INNODB 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
4.
Улучшения в оптимизаторе/выполнении
запросов (скорость). ● Index Condition Pushdown ● Disk Sweep Multi-Range Read ● Batched Key Access для соединений (joins) ● Оптимизации выполнения подзапросов: – Через материализацию – Через semi-join – Отложенная материализация для подзапросов из FROM/views – Игнорирование клауз подзапроса не влияющих на результат ● Улучшение выполнения запросов с ORDER BY (filesort) ● Оптимизированный анализ селективности для IN 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
5.
Index Condition Pushdown Storage
engine при чтении по индексу проверяет часть условия которая зависит только от полей в индексе, не читая всю строку и не возвращая управление SQL-layer. CREATE TABLE person ( personid INTEGER PRIMARY KEY, firstname CHAR(20), lastname CHAR(20), postalcode INTEGER, age INTEGER, KEY k1 (postalcode,age) ) ENGINE=InnoDB; SELECT lastname, firstname FROM person WHERE postalcode BETWEEN 5000 AND 5500 AND age BETWEEN 21 AND 22; 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
6.
Disk Sweep –
Multi-Range Read Чтение строк по индексу, в порядке расположения их на диске пакетная обработка групп чтений по индексу: CREATE TABLE items ( id INTEGER PRIMARY KEY, attr1 CHAR(20), keypart1 INTEGER, keypart2 INTEGER, KEY k1 (keypart1, keypart2) ) ENGINE=InnoDB; SELECT * FROM items WHERE keypart1 BETWEEN 1000 AND 1100 AND keypart2 = 1200; Без MRR получим один промежуток вида 1000 <= keypart1 <= 1100. C MRR получим 100 промежутков для {keypart1, keypart2} – {1000, 1200}, {1001, 1200} … {1100, 1200}. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
7.
Batched Key Access
в соединениях ● Для соединений с доступом к одной из табличек по ключу – Накопить строки из первой таблички в буфере – Запросить строки из второй таблички, с ключем, одним запросом, используя DS MRR – Получить строки по одной от storage engine для соединения (с ссылкой на элемент в буфере) 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
8.
Оптимизации в выполнении
подзапросов ● Выполнение через материализацию SELECT * FROM t1 WHERE t1.a IN (SELECT t2.b FROM t2 WHERE where_condition); ● Выполнение через semi-join SELECT * FROM nation WHERE n_regionkey IN (SELECT r_regionkey FROM region WHERE r_name='AFRICA'); SELECT nation.* FROM nation SEMI JOIN region ON nation.n_regionkey = region.r_regionkey AND region.r_name='AFRICA'; ● Отложенная материализация для подзапросов из FROM клаузы/views (лучше для EXPLAIN, может не потребоваться вообще) ● Игнорирование клауз подзапроса не влияющих на результат (SELECT * FROM … a IN (SELECT DISTINCT b FROM …) ) 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
9.
Прочие улучшения в
оптимизации/выполнении запросов ● Улучшение выполнения запросов с ORDER BY (filesort) (для запросов c ORDER BY non_indexed_column и LIMIT x, и случаев когда x строк помещаются в sort buffer) ● Оптимизированный анализ статистики для IN (параметр eq_range_index_dive_limit, определяет будем ли мы делать нырки в индекс или использовать статистику по индексу). 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
10.
Улучшения в оптимизаторе/выполнении
запросов (удобство в использовании) ● Optimizer trace (SET optimizer_trace=..., I_S.OPTIMIZER_TRACE) ● EXPLAIN для INSERT/UPDATE/DELETE EXPLAIN UPDATE t1 SET c2=12345 WHERE (c1, c2) IN ((3, 1)); id select_type table type possible_keys key key_len ref row Extra 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 1 Using where ● EXPLAIN в JSON формате (EXPLAIN FORMAT=JSON ...) ● Определение стратегии обработки ORDER BY на этапе оптимизации 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
11.
Новые возможности в
InnoDB (1) ● Хранимая статистика для таблиц (сохраняется при рестарте, перестраивается ANALYZE TABLE, опции управления качеством). ● Поддержка полнотекстового поиска (таблицы I_S.INNODB_FT_*, переменные innodb_ft_*, предикат MATCH (col1, …, colN) AGAINST (expr [search_modifier]) ) ● Новые таблицы в INFORMATION_SCHEMA (INNODB_METRICS, INNODB_SYS_*, INNODB_BUFFER_*) ● Ослаблено ограничение на размер колонки в ключе ● Появилось возможность журналирования всех deadlock-ов (--innodb_print_all_deadlocks) 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
12.
Новые возможности в
InnoDB (2) ● Online ALTER – все виды add/drop index – add/drop column – add/drop foreign key (без проверки) – изменение nullability, – изменение auto_increment, – переименование столбцов – ... – не поддерживается смена типа ● Transportable tablespaces (FLUSH TABLE ... FOR EXPORT) ● Поддержка опции DATA DIRECTORY 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
13.
Производительность и масштабируемость
в InnoDB (1) ● Оптимизация обработки read-only транзакций (non- locking autocommit SELECTs, START TRANSACTION READ ONLY, до 3х!) ● Увеличен максимальный размер REDO журнала (512Gb, --innodb-log-file-size=) ● Сохранение/восстановле ние содержимого buffer pool (innodb_buffer_pool_dump/load/*) 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
14.
Производительность и масштабируемость
в InnoDB (2) ● Поддержка страниц уменьшенного размера (4K и 8К при 16К по умолчанию, SSD!, --innodb-page-size) ● Поддержка UNDO журнала в отдельных tablespace (SSD!, --innodb-undo-directory=) ● Поддержка аппаратного вычисления контрольных сумм для страниц (--innodb-checksum-algorithm=) 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
15.
Производительность и масштабируемость
в InnoDB (3) ● Kernel mutex разбит на несколько mutexов – Транзакции и MVCC views: trx_sys_t::lock (rw_lock) и trx_t::mutex – Locking : lock_sys_t::mutex и lock_sys_t::wait_mutex ● Оптимизация использования блокировок при обращении к buffer pool ● Оптимизация использования блокировок во время commit ● Очистка кэша InnoDB таблиц (--table_definition_cache, LRU) 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
16.
Производительность и масштабируемость
в InnoDB (4) ● Несколько purge ниток (--innodb_purge_threads, <=32) ● Отдельная нить для выталкивания страниц из buffer pool (вместо master thread), новый алгоритм выталкивания (DimitriK) ● Улучшен механизм управление нитями в InnoDB ● Оптимизировано использование кэша процессора (до 50% в OLTP-RO, до 6 раз в RO-S-Ranges) 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
17.
Производительность и масштабируемость
InnoDB по сравнению с MySQL 5.5 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
18.
Улучшения в репликации
(1) ● Group Commit для Binary Log (--binlog-max-flush-queue-time) ● Поддержка Global Transaction Identifiers (GTID = source_id:transaction_id, CHANGE MASTER TO ... MASTER_AUTO_POSITION=1, --gtid_mode=on, @@gtid_ ...) ● Многопоточный slave (параллелизм для БД, --slave-parallel- workers=N) ● Crash-safe slave (автоматическое восстановление репликации после падения, crash safe binary log, файлы состояния, хранение состояния в таблицах) ● Поддержка контрольных сумм в binary log (--binlog- checksum=none|crc32) 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
19.
Улучшения в репликации
(2) ● Поддержка частичных образов в RBR (--binlog-row-image = full|minimal|noblob) ● Информационные события для RBR (--binlog-rows-query-log- events) ● Оптимизация RBR для таблиц без индексов ● UUID для идентификации серверов ● Репликация с задержкой (CHANGE MASTER TO .. MASTER_DELAY=N) ● Прямая работа с binary log для удаленного сервера mysqlbinlog –read-from-remote-server --host=host_name --raw --stop-never binlog.000130 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
20.
Расширения системы типов/операций ●
Поддержка микросекунд для TIME, TIMESTAMP и DATETIME ● Поддержка DEFAULT NOW()/ON UPDATE NOW() для DATETIME и нескольких полей, новое поведение TIMESTAMP по умолчанию ● Поддержка OpenGIS/точных операций для GIS данных ● Поддержка Unicode 5.2 Collation Algorithm и нескольких новых collations (Вьетнамская, Хорватская, Бенгальская, …). ● Поддержка UTF-16LE и Unicode в Windows CLI ● TO_BASE64()/FROM_BASE64() и WEIGHT_STRING() 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
21.
Улучшения в обработке
ошибок ● GET DIAGNOSTICS GET DIAGNOSTICS rows = ROW_COUNT; GET DIAGNOSTICS CONDITION 1 code = RETURNED_SQLSTATE, msg = MESSAGE_TEXT; ● Поведение обработчиков ошибок (HANDLER) в хранимых процедурах стало ближе к стандарту 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
22.
Улучшения в безопасности ●
SHA-256 хэширование для паролей (sha256_password plugin) ● Обфускация пароля (.mylogin.cnf/mysql_config_editor) ● ALTER USER … PASSWORD EXPIRE ● Plugin API для проверки качества пароля (CREATE USER, GRANT, SET PASSWORD, простой пример validate_password.cc) 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
23.
Улучшения в partitioning ●
Улучшена работа с большим числом partition (partition pruning на этапе оптимизации, выигрыш до 5x и более на 1K partition, 8K теперь реальность!). ● Возможность явного задания partition в операторе SELECT * FROM employees PARTITION (p0, p2); DELETE FROM employees PARTITION (p0, p1); UPDATE employees PARTITION (p0) SET store_id = 2 WHERE fname = 'Jill'; SELECT e.id, s.city FROM employees AS e JOIN stores PARTITION (p1) AS s ...; ● Импорт/Экспорт в/из таблиц с partitioning ALTER TABLE e EXCHANGE PARTITION p0 WITH TABLE e2; 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
24.
Новое в PERFORMANCE_SCHEMA ●
PERFORMANCE_SCHEMA включена по умолчанию! ● Инструментированы блокировки таблиц, ввод-вывод в таблицы и сетевой ввод-вывод. ● Аггрегирование статистики для блокировок и ввода-вывода ● Инструментированы операторы ● Инструментированы этапы выполнения операторов ● Поддержка digests для операторов и аггрегирование по ним ● Фильтрация по пользователям, сессиям и таблицам ● P_S.HOST_CACHE 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
25.
PERFORMANCE_SCHEMA: инструментирован
ввод-вывод в таблицы Таблицы table_io_waits_summary_by*: SELECT OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, SUM_TIMER_READ, COUNT_INSERT, SUM_TIMER_INSERT FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME='t1'; OBJECT_ OBJECT_NAME COUNT_STAR COUNT_READ SUM_TIMER_READ COUNT_INSERT SUM_TIMER_INSERT SCHEMA test t1 9 5 16071156 4 53219976 SELECT OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, COUNT_STAR, COUNT_READ, SUM_TIMER_READ FROM performance_schema.table_io_waits_summary_by_index_usage WHERE OBJECT_NAME='t1'; OBJECT_ OBJECT_NAME INDEX_NAME COUNT_STAR COUNT_READ SUM_TIMER_READ SCHEMA test t1 PRIMARY 0 0 0 test t1 j 4 4 101279076 test t1 NULL 4 0 0 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
26.
PERFORMANCE_SCHEMA: инструментированы
операторы Таблицы events_statements_*, events_statements_summary_*: SELECT THREAD_ID, EVENT_NAME, TIMER_WAIT, SQL_TEXT, ROWS_SENT, ROWS_EXAMINED, CREATED_TMP_TABLES, NO_INDEX_USED FROM performance_schema.events_statements_history LIMIT 3, 3; THRE EVENT_NAME TIMER_WAIT SQL_TEXT ROWS ROWS_EX CREATED_T NO_INDE AD_ID _SENT AMINED MP_TABLES X_USED 16 statement/sql/creat 1572757000 create table t1 (i int) 0 0 0 0 e_table 16 statement/sql/insert 1129054000 insert into t1 values (1), (2), 0 0 0 0 (3) 16 statement/sql/select 678927000 select * from t1 where i = 2 1 3 0 1 SELECT THREAD_ID, EVENT_NAME, SUM_TIMER_WAIT, AVG_TIMER_WAIT, SUM_ROWS_SENT, SUM_NO_INDEX_USED FROM performance_schema.events_statements_summary_by_thread_by_event_name WHERE THREAD_ID=16 LIMIT 1; THREAD_ID EVENT_NAME SUM_TIMER_WAIT AVG_TIMER_WAIT SUM_ROWS_SENT SUM_NO_INDEX_U SED 16 statement/sql/select 1062565000 265641000 1 1 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
27.
PERFORMANCE_SCHEMA: инструментированы
этапы выполнения операторов Таблицы event_stages_*, event_stages_summary_*: SELECT EVENT_NAME, SOURCE, TIMER_START, TIMER_WAIT FROM performance_schema.events_stages_history WHERE THREAD_ID=16 AND NESTING_EVENT_ID=343 ORDER BY TIMER_WAIT DESC LIMIT 5; EVENT_NAME SOURCE TIMER_START TIMER_WAIT stage/sql/init sql_parse.cc:936 552715025748 66623746 stage/sql/Opening sql_base.cc:4805 552788106302 29843681 tables stage/sql/preparing sql_select.cc:1977 552876811982 21863187 stage/sql/init sql_select.cc:3588 552831727471 20826223 stage/sql/System lock lock.cc:324 552817949983 13777488 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
28.
PERFORMANCE_SCHEMA: добавлена
поддержка digests для операторов и аггрегирование по ним Таблица events_statements_summary_by_digest SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_SENT SUM_ROWS_EXAMINED, SUM_NO_INDEX_USED FROM performance_schema.events_statements_summary_by_digest LIMIT 1, 2; SCHEMA DIGEST DIGEST_TEXT COUNT_ SUM_ROWS_E SUM_NO_I _NAME STAR XAMINED NDEX_USE D test 449be9e4a75d65e7bf9cdc74fde1a406 INSERT INTO t1 VALUES (...) /* , ... */ 1 0 0 test 820da79addca10faffe250847d91961f SELECT * FROM t1 WHERE j IN (...) 1 2 0 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
29.
Кроме того ●
Хранимые процедуры больше не ломаются параллельным DDL ● Table Cache разбит на несколько partitions ● Добавлена поддержка пользовательских аттрибутов для соединения (mysql_options(), P_S.session_connect_attrs) ● Изменены значения по умолчанию для многих параметров! 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
30.
Memcached API для
InnoDB ● Daemon plugin для MySQL ● Прямой доступ к InnoDB ● Поддерживает бинарный и текстовый протокол ● Поддерживает значения из нескольких полей ● Опционально поддерживает локальное кэширование ● Поддерживает batch операции для чтения и записи ● Поддерживает простую аутентификацию через SASL 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
31.
●
Подробнее о MySQL-5.6: – http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html – http://dev.mysql.com/doc/refman/5.6/en/news-5-6-x.html ● Загрузить MySQL-5.6.10: – http://dev.mysql.com/downloads/mysql/#downloads 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Download now