SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.01.2014 21:28:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Помогите разобраться в картинке.

Всегда считал, что комиксы отупляюще действуют на сознание. Но сейчас смотрю на буржуйскую картинку и думаю - может наоборот у них развиты недоступные мне грани визуализации информации?

Цвет на картинке означает с какой версии доступен тот или иной способ оптимизации.
Какой смысл окрашивать пункт одновременно желтым и синим цветом?

https://mariadb.com/kb/en/subquery-optimizations-map/image/subquery-map-2013

Неактивен

 

#2 03.01.2014 23:36:52

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

Скорее всего это означает, что функция реализована в 5.5 частично, а в 5.6 доделана.

Неактивен

 

#3 03.01.2014 23:48:26

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

Не, у MySQL это только в 5.6.5 появилось.

Неактивен

 

#4 04.01.2014 02:06:01

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

А может быть это частично реализовано в MariaDB 5.5?

Неактивен

 

#5 04.01.2014 03:18:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

Изначально это для MySQL 6.0 было сделано, потом дорабатывалось напильником в каждом случае независимо, но глобальных отличий у них нет.

Кстати в прошлом варианте картинки такого нет, зато неясен смысл смешения цветов для materialization
Что-то они все-таки подразумевают.

https://mariadb.com/kb/en/subquery-optimizations-map/image/subquery-optimizations-map2

Неактивен

 

#6 04.01.2014 03:43:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

Мне кажется, что тут все просто:
голубой - только в MariaDB 5.3, но нет в MySQL
желтый - в MariaDB 5.3 перенесено из MySQL 6.0

Смешение - значит, что фича частично перенесена из MySQL 6.0, а частично разработана специально для MariaDB. В итоге в MariaDB это реализовано шире (полнее), чем в MySQL 6.0, но в последнем такая фича тоже есть (но функционал недостаточен по мнению Monty).

Неактивен

 

#7 04.01.2014 03:47:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

С этим согласен, выглядит логично, а что с первой картинкой?
Димка обращает внимание на то, что там величина синей области везде различна.

Неактивен

 

#8 04.01.2014 04:06:30

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

Первая картинка по аналогии.
Желтое - то, что есть в MySQL 5.6 и MariaDB 5.5
Синее - то, что есть в MySQL 5.6, но нет в MariaDB 5.5

Величина синей области - оценка доли таких фич.

Неактивен

 

#9 04.01.2014 04:19:24

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

Не понимаю.

Синее это подмножество желтого.
Например, "Table pullout" реализован и там, и там. Какой смысл его обозначать желтым+синим цветом.

Понятно, если бы какая-нибудь стратегия была реализована только в MySQL 5.6 и соответственно целиком обозначена синим цветом. Но такого нет.

Например, кэш подзапрпосов есть только в MariaDB5.5 вот его целиком зеленым и обозначают.


Или ты имеешь в виду, что величина синий области характеризует отличие в реализации данной оптимизации (при переносе из 6.0 каждый дорабатывал напильником самостоятельно)?

Неактивен

 

#10 04.01.2014 04:33:20

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

> Синее это подмножество желтого.

Логически, синее и желтое - два непересекающихся множества.
Давай назовем множестом R - возможности MariaDB 5.5, а множеством S - возможности MySQL 5.6.

Два множества, пересекаясь (если считать их кругами) делят пространство на 4 области. Формально:
!R & !S - [не нанесено на схеме] то, что не реализовано ни в MariaDB 5.5 ни в MySQL 5.6
R & S - [желтое], то, что есть и в MariaDB 5.5 и в MySQL 5.6
R & !S - [зеленое], то, что есть в MariaDB 5.5, но нет в MySQL 5.6
!R & S - [синее], то, чего нет в MariaDB 5.5, но есть в MySQL 5.6

Например, Table pullout может состоять из ряда возможностей. Согласно диаграмме часть этих возможностей есть и в MariaDB 5.5 и в MySQL 5.6, а часть только в MySQL 5.6.

Неактивен

 

#11 04.01.2014 04:50:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

Выглядит логично, но с т.з. логики крокодил более зеленый чем длинный, так как зеленый он и в длинну, и в ширину.

Сомнения:
1. "Table pullout" прост как пробка - если есть возможность переписать подзапрос в join на основании primary/unique ключа, который гарантирует отсутствие дубликатов, то он переписывается как join.
2. Получается, что в MySQL все оптимизации выполнены лучше, так как нигде нет желтый+синий+зеленый.

Неактивен

 

#12 04.01.2014 05:02:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите разобраться в картинке.

1. Про конкретные фичи можно спросить у Монти что он имел в виду под синим. Может быть это специальный синтаксис, введенный в MySQL 5.6, которого нет в MariaDB.

2. Для материализации фактически желтый+синий+зеленый, просто зеленый квадрат расширен и получил отдельный заголовок. В других случаях, возможно, из скромности не подчеркиваются отличия MariaDB.

Неактивен

 

#13 04.01.2014 06:01:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться в картинке.

1. https://mariadb.com/kb/en/subquery-opti … omment_967

2. Там речь идет об отдельном виде подзапросов, которые с группировкой. И в старой картинке они тоже были отдельно выделены зеленым.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson