Re[17]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 02:29
Оценка: +2
Здравствуйте, Mamut, Вы писали:

M>Здравствуйте, mrTwister, Вы писали:


T>> M>Когда говоришь, что MySQL подерживает ту или иную фичу, надо обязательно уточнять, для какого из двиков он эту фичу поддерживает.


T>> Хорошо, для InnoDB, доволен?


M>Да. для InnoDB есть ACID. Но нет чего-то дргого. И т.п.


Стоп-стоп. Какой ACID? Если для DDL его нет. Тут уже упоминали .frm файлы.
Re[18]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 02:33
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, yuriylsh, Вы писали:


Y>>Меня не интересую some subqueries.


T>А что тебя интересует?


Y>>The subquery must satisfy these conditions (этого ты нагуглить не успел, наверное...):

Y>> * It is not a UNION or UNION ALL
Y>> * It doesn't have GROUP BY, HAVING or any kind of aggregate functions
Y>> * It doesn't have ORDER BY ... LIMIT clause

T>В особо тяжелых случаях (как описано выше) ничего не мешает переписать запрос в случае если производительности не хватает. Реально тормозных и сложных запросов обычно в приложении не много, так что переписать несколько запросов не проблема.


В приложениях моя первая пага? Да. Или ютуб — скорее всего. А вот в нашем приложении запросы на несколько экранов — норма.

T>Тем более что примерно тем же самым приходится заниматься и на оракле. Ну да, с MySQL в этом смысле надо быть более внимательным и оптимизатору надо в рот подкладывать запрос в более разжеванном виде.


А нахрен тогда такой оптимизатор? Что есть он, что нет — получается без разницы. Но... для первой паги пойдет.
Re[12]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 02:39
Оценка: +1
Здравствуйте, mrTwister, Вы писали:

T>То есть другими словами если ты продаешь MySQL в составе своего продукта. А теперь вопрос: можешь ли ты продавать, например, MSSQL в составе своего продукта?


Да. А в чем проблема? MS SQL бесплатен в версии Express. Если потребности клиента больше чем Express — пожалуйста: Standard (x64, Itanium), Enterprise (x64, Itanium). Но в этом случае MS SQL не прикидывается бесплатным — все по чеснаку.
Re[10]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 02:42
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, _d_m_, Вы писали:


_>> d>> Твистер, а в мускуле есть comparable GUIDs, раз уж последовательностями обделили?

_>> AB>Есть простые UUID(), которые представляются строкой в UTF-8
_>> Че-то какой-то гон. GUID — 16 байтное целое число, а здесь строки?

AB>Ну да, их строковое представление длиной 36 символов (16 * 2 hex + 4 разделителя). Если сильно хочется, можно их UDF-ом конвертнуть бинарное представление.


Значит нет там поддержки GUID-ов. Обычное МыСклевкое решение — через задницу. Я в MS SQL, .Net CLR UDF-ами могу хоть звезду с неба достать.
Re[11]: MySQL и качество
От: criosray  
Дата: 21.06.09 07:05
Оценка:
Здравствуйте, _d_m_, Вы писали:

_>>> d>> Твистер, а в мускуле есть comparable GUIDs, раз уж последовательностями обделили?

_>>> AB>Есть простые UUID(), которые представляются строкой в UTF-8
_>>> Че-то какой-то гон. GUID — 16 байтное целое число, а здесь строки?

AB>>Ну да, их строковое представление длиной 36 символов (16 * 2 hex + 4 разделителя). Если сильно хочется, можно их UDF-ом конвертнуть бинарное представление.


___>Значит нет там поддержки GUID-ов. Обычное МыСклевкое решение — через задницу. Я в MS SQL, .Net CLR UDF-ами могу хоть звезду с неба достать.


Не говоря уж об известной проблеме фрагментации индекса, построенного по GUID`ам (собственно почему и предумали sequential GUID`ы в MS SQL Server)...
Re[19]: MySQL и качество
От: mrTwister Россия  
Дата: 21.06.09 08:32
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>В приложениях моя первая пага?


Ну да, ну да. Google, Amazon, Flickr, Wikipedia работают на MySQL. Дак может все дело не в сложности приложения, а в кривых руках разработчика? Если руки кривые, то никакой оракл это не исправит — это диагноз.

___>А вот в нашем приложении запросы на несколько экранов — норма.


Какая разница на сколько экранов запрос?

T>>Тем более что примерно тем же самым приходится заниматься и на оракле. Ну да, с MySQL в этом смысле надо быть более внимательным и оптимизатору надо в рот подкладывать запрос в более разжеванном виде.


___>А нахрен тогда такой оптимизатор? Что есть он, что нет — получается без разницы.

Еще раз по буквам: примерно тем же самым приходится заниматься и на оракле.
лэт ми спик фром май харт
Re[12]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 08:36
Оценка:
Здравствуйте, criosray, Вы писали:

AB>>>Ну да, их строковое представление длиной 36 символов (16 * 2 hex + 4 разделителя). Если сильно хочется, можно их UDF-ом конвертнуть бинарное представление.


___>>Значит нет там поддержки GUID-ов. Обычное МыСклевкое решение — через задницу. Я в MS SQL, .Net CLR UDF-ами могу хоть звезду с неба достать.


C>Не говоря уж об известной проблеме фрагментации индекса, построенного по GUID`ам (собственно почему и предумали sequential GUID`ы в MS SQL Server)...


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

Решение на строковых представлениях GUID-ов абсолютно в этом плане не отличается от бинарных GUID-ов.
Re[20]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 09:19
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>В приложениях моя первая пага?


T>Ну да, ну да. Google, Amazon, Flickr, Wikipedia работают на MySQL. Дак может все дело не в сложности приложения, а в кривых руках разработчика? Если руки кривые, то никакой оракл это не исправит — это диагноз.


Плохую программу можно написать на любом языке. И что? Про гугль-шмугль — тебе сюда http://rsdn.ru/forum/flame.comp/3432712.aspx
Автор: WolfHound
Дата: 18.06.09


___>>А вот в нашем приложении запросы на несколько экранов — норма.


T>Какая разница на сколько экранов запрос?


Ну это какбэ характеризует сложность запроса и уровень исполнения оптимизатора, чтобы он выполнять свою часть работы.

T>>>Тем более что примерно тем же самым приходится заниматься и на оракле. Ну да, с MySQL в этом смысле надо быть более внимательным и оптимизатору надо в рот подкладывать запрос в более разжеванном виде.


___>>А нахрен тогда такой оптимизатор? Что есть он, что нет — получается без разницы.

T>Еще раз по буквам: примерно тем же самым приходится заниматься и на оракле.

Не знаю как на оракле, но на мс с-ку-эль мне надо только немного подтюнить запрос если он дает просадку на реальных данных.
Re[13]: MySQL и качество
От: criosray  
Дата: 21.06.09 09:25
Оценка:
Здравствуйте, _d_m_, Вы писали:

C>>Не говоря уж об известной проблеме фрагментации индекса, построенного по GUID`ам (собственно почему и предумали sequential GUID`ы в MS SQL Server)...


___>Нет никакой проблемы фрагментации. Просто при массовой вставке рандомных значений будет подыматься много страниц с диска, в случае же монотоного возрастания потребуется подымать значительно меньшее кол-во страниц.


Ну конечно же есть проблема фрагментации .
Re[18]: MySQL и качество
От: Mamut Швеция http://dmitriid.com
Дата: 21.06.09 09:28
Оценка:
_> T>> M>Когда говоришь, что MySQL подерживает ту или иную фичу, надо обязательно уточнять, для какого из двиков он эту фичу поддерживает.

_> T>> Хорошо, для InnoDB, доволен?


_> M>Да. для InnoDB есть ACID. Но нет чего-то дргого. И т.п.


_> Стоп-стоп. Какой ACID? Если для DDL его нет. Тут уже упоминали .frm файлы.


Ну, он в теории есть. По идее frm ожно восстановить по transaction-логам. Но это — в теории
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[14]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 09:38
Оценка:
Здравствуйте, criosray, Вы писали:

C>Здравствуйте, _d_m_, Вы писали:


C>>>Не говоря уж об известной проблеме фрагментации индекса, построенного по GUID`ам (собственно почему и предумали sequential GUID`ы в MS SQL Server)...


___>>Нет никакой проблемы фрагментации. Просто при массовой вставке рандомных значений будет подыматься много страниц с диска, в случае же монотоного возрастания потребуется подымать значительно меньшее кол-во страниц.


C>Ну конечно же есть проблема фрагментации .


Ладно есть, только этот MVP почему-то забыл про такой параметр индекса как fillfactor — для таких таблиц надо ставить 85-90% или использовать секвеншл гуид (что не всегда возможно). Кстати, индексы прекрасно дефрагментируются если чо.

Тем не менее повторяю решение в MySQL плохо — нет там ни гуидов, ни секвеншл гуидов, а только раздутые 36 байтные строки, которые фрагментируют индекс в ввиду немонотонного возрастания.
Причем
От: Mamut Швеция http://dmitriid.com
Дата: 21.06.09 09:51
Оценка:
_> ___>>А нахрен тогда такой оптимизатор? Что есть он, что нет — получается без разницы.

_> T>Еще раз по буквам: примерно тем же самым приходится заниматься и на оракле.


_> Не знаю как на оракле, но на мс с-ку-эль мне надо только немного подтюнить запрос если он дает просадку на реальных данных.


Причем в Enterprise tudio есть гниальная фича «показать план запроса», оторый подскажет, на каких именно данных просаживается запрос. Обычно бывает достаточно прикрутить забытый индекс — и вуаля.Для MySQL'я таких тлзов просто не существует в природе, насколько я знаю
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[21]: MySQL и качество
От: mrTwister Россия  
Дата: 21.06.09 09:57
Оценка:
Здравствуйте, _d_m_, Вы писали:
___>Про гугль-шмугль — тебе сюда http://rsdn.ru/forum/flame.comp/3432712.aspx
Автор: WolfHound
Дата: 18.06.09


гугль-шмугль живет на InnoDB еще и фиксы регулярно постит.
лэт ми спик фром май харт
Re: Причем
От: _d_m_  
Дата: 21.06.09 09:57
Оценка: +1
Здравствуйте, Mamut, Вы писали:

_>> ___>>А нахрен тогда такой оптимизатор? Что есть он, что нет — получается без разницы.


_>> T>Еще раз по буквам: примерно тем же самым приходится заниматься и на оракле.


_>> Не знаю как на оракле, но на мс с-ку-эль мне надо только немного подтюнить запрос если он дает просадку на реальных данных.


M>Причем в Enterprise tudio есть гниальная фича «показать план запроса», оторый подскажет, на каких именно данных просаживается запрос. Обычно бывает достаточно прикрутить забытый индекс — и вуаля.Для MySQL'я таких тлзов просто не существует в природе, насколько я знаю


Поправочка: MS SQL Server Management Studio. И таки да даже в бесплатной Express редакции.
Re: Причем
От: mrTwister Россия  
Дата: 21.06.09 10:01
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Причем в Enterprise tudio есть гниальная фича «показать план запроса», оторый подскажет, на каких именно данных просаживается запрос. Обычно бывает достаточно прикрутить забытый индекс — и вуаля.


Все тоже самое.

M>Для MySQL'я таких тлзов просто не существует в природе, насколько я знаю

http://dev.mysql.com/doc/refman/5.1/en/explain.html
лэт ми спик фром май харт
Re[15]: MySQL и качество
От: mrTwister Россия  
Дата: 21.06.09 10:09
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Тем не менее повторяю решение в MySQL плохо — нет там ни гуидов, ни секвеншл гуидов, а только раздутые 36 байтные строки, которые фрагментируют индекс в ввиду немонотонного возрастания.


АФАИК UUID в MySQL дает именно sequential значения.
лэт ми спик фром май харт
Re[16]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 10:16
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>Тем не менее повторяю решение в MySQL плохо — нет там ни гуидов, ни секвеншл гуидов, а только раздутые 36 байтные строки, которые фрагментируют индекс в ввиду немонотонного возрастания.


T>АФАИК UUID в MySQL дает именно sequential значения.


Даже если так — и что? GUID тем и удобен, что его можно генерировать на клиенте. А вот проблема ключа длиной 36 vs 16 — это риал.

А проблема фрагментации индексов преувеличена, я бы даже не называл это проблемой. Во всяком случае в MS SQL.
Re[11]: MySQL и качество
От: Anton Batenev Россия https://github.com/abbat
Дата: 21.06.09 10:19
Оценка:
Здравствуйте, _d_m_, Вы писали:

_> Значит нет там поддержки GUID-ов. Обычное МыСклевкое решение — через задницу. Я в MS SQL, .Net CLR UDF-ами могу хоть звезду с неба достать.


Если говорить непосредственно о типе поля GUID в MSSQL, то да, аналога нет. Если говорить о наличии уникальной (глобально) возрастающей последовательности, то есть. Как ее применять и применять ли (поскольку "проблем" с репликацией у MySQL нет при любом типе PK) — вопрос уже другой.

З.Ы. Но если кому-то совсем-совсем невмоготу и хочется именно типа GUID, то исходники открыты
avalon 1.0rc1 rev 247, zlib 1.2.3
Re[12]: MySQL и качество
От: _d_m_  
Дата: 21.06.09 10:25
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>З.Ы. Но если кому-то совсем-совсем невмоготу и хочется именно типа GUID, то исходники открыты


Да-да там типа юникс вэй и прочее. А новые версии и апдейты как накатывать?
Re[17]: MySQL и качество
От: criosray  
Дата: 21.06.09 10:26
Оценка:
Здравствуйте, _d_m_, Вы писали:


___>А проблема фрагментации индексов преувеличена, я бы даже не называл это проблемой. Во всяком случае в MS SQL.


Она не преувеличена. Из-за нее мы вынуждены перестраивать индексы частями через каждые двое суток. Всего 10-15 дней и фрагментация порядка 90%, что неприемлимо.
Использование sequential GUID`ов конкретно на этих PK неприемлимо.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.