|
|
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
Суть задачи такова: База данных содержит: 1. порядка 100 таблиц по 30-50 тысяч записей и множество мелких списков 2. предполагает наличие около 250 запросов различной сложности 3. около 80 пользователей одновременно 4. DB GUI: web На выбор: 1. MSSQL Server 2005 2. MySQL Server 5 Вопрос: справится ли MySQL с задачей лучше чем MSSQL или же стоит все-таки для такой задачи воспользоваться мелкософтовской софтинкой? З.Ы. Сам-то я лично за мускль, но мне в этом вопросе нужны объективные оценки людей, имеющих хоть какой-то вразумительный опыт по работе с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 15:20 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
а в чём заключается задача-то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 16:22 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
xplo На выбор: 1. MSSQL Server 2005 2. MySQL Server 5А почему не рассматриваются другие кандидаты ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 16:53 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
Привет, ChA! Ты пишешь: ChA xploMSSQL Server MySQL Server C> А почему не рассматриваются другие кандидаты ?эти же самые близкие. различаются только одной буквой. ну неужели не видишь?.. а у других отличий гораздо больше... (и букв тоже) -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 17:01 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдора в чём заключается задача-то ? Задача заключается в оценке производительности. Интересно узнать: сможет ли мускль справиться с такой задачей лучше MSSQL сервера? вот, собсна и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 17:18 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
xploИнтересно узнать: сможет ли мускль справиться с такой задачей лучше MSSQL сервера? Подозреваю, это зависит в первую очередь от около 250 запросов различной сложности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 17:30 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > Подозреваю, это зависит в первую очередь от *около 250 запросов > различной сложности* угу... некоторые MySQL запросы оченно коряво эмулируются на MS SQL.... да и с формированием запросов - тоже лажа бывает... особенно в части limit... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 18:29 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
locky softwarer wrote: > Подозреваю, это зависит в первую очередь от *около 250 запросов > различной сложности* угу... некоторые MySQL запросы оченно коряво эмулируются на MS SQL.... да и с формированием запросов - тоже лажа бывает... особенно в части limit... Posted via ActualForum NNTP Server 1.4помню когда перешел с mysql на oracle тож долго жалел об отсутсвии limit, сейчас даже не представляю жизнь без rownum =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 14:43 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
тыц wrote: > помню когда перешел с mysql на oracle тож долго жалел об отсутсвии > limit, сейчас даже не представляю жизнь без rownum =) limit даже лучше - при динамической формировании запроса нет нужды знать - есть клауза where или нет. rownum в этом плане хуже. Хотя - значительно лучше, чем эмуляция той-же хрени в MS SQL. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 18:18 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
lockylimit даже лучше - при динамической формировании запроса нет нужды знать - есть клауза where или нет. rownum в этом плане хуже. Опуская соображения о подходе - при формировании запроса с rownum также нет необходимости думать о существовании where. Что, боюсь, limit вряд ли сможет выполнить, так это пронумеровать строки в выборке. Знаете, такой довольно типичный пункт всяких печатных форм - "номер по порядку". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 19:46 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > Опуская соображения о подходе - при формировании запроса с rownum также > нет необходимости думать о существовании where. Код: plaintext 1. Код: plaintext 1. а как тоже самое сделать с rownum? Не задрочки ради, действительно интересно. > Что, боюсь, limit вряд ли сможет выполнить, так это пронумеровать строки > в выборке. Знаете, такой довольно типичный пункт всяких печатных форм - > "номер по порядку". Это да... Вот если б и то и другое было :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2007, 13:02 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
lockyа как тоже самое сделать с rownum? Не задрочки ради, действительно интересно. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2007, 00:12 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > а как тоже самое сделать с rownum? Не задрочки ради, действительно > интересно. > > select * > from (<some original select>) > where rownum ... Тоже вариант, хотя и хреновый, если честно :( т.е. если в том же MySQL можно сделать (условно) Код: plaintext 1. - надо модифицировать весь запрос... В MS SQL - картина еще хуже :-((( Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2007, 12:35 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
lockyТоже вариант, хотя и хреновый, если честно :( т.е. если в том же MySQL можно сделать (условно) Код: plaintext 1. - надо модифицировать весь запрос... Довольно странное рассуждение. Попробую по пунктам. Во-первых, что за "модифицировать весь запрос", какими критериями это выражается? В том и в другом случае у нас есть некий "исходный запрос" и есть формальный способ получить из него "запрос с ограничениями". Что нас интересует - насколько такой формальный способ надежен во-первых и качественен во-вторых (здесь под качеством понимается производительность и прочие параметры [не]ухудшения). Далее, я бы предостерег от пусть даже условной, но тем не менее попытки думать в терминах select+from+where. Эта модель обламывается на нетривиальных примерах и служит вечным источником проблем вида "наш крутейший суперпупердвижок не может работать с тем запросом, который нужен". Скажем, я помню один неплохой на первый взгляд dbgrid, который рушился при попытке подсунуть ему запрос с union; все такие запросы приходилось оборачивать во view. Вопрос в принципе философский, но имхо - если автор фреймворка говорит "ну здесь у нас сложных запросов не будет", его надо немедленно выгонять по служебному несоответствию (почему фреймворка - потому что задача "универсально подсунуть" встает именно в подобных случаях). Реально - надо понимать, что исходным может быть абсолютно любой запрос, и наша задача - придумать способ, который будет работать всегда или почти всегда. Попытка парсить запрос, разобрать его на части чаще всего убивает это требование (а в оставшихся - требует очень нехилой трудоемкости). Обертывание в подзапрос - этому требованию чаще всего соответствует; даже если я употреблю в запросе with, group by, order by, minus и model в одном флаконе - внешний rownum таки сработает. Про MSSQL в данном случае ничего сказать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 14:53 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
Вообще-то, результаты получаются разные... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. т.е. наложить на исходный запрос ограничение по номерам строк - не так просто. Кроме того (что в принципе уже неважно)- получается заметная "усадка" по перформансу (0,031 против 5 секунд). для MySQL - всё не так плохо. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. то, что надо. В SQL2k5 - всё еще хуже, потому что запрос вида Код: plaintext 1. 2. 3. преобразуется в нечто вроде Код: plaintext 1. 2. 3. 4. т.е. вместо "дописывания" запроса (как в MySQL) или "оборачивания" (как в Оракле, правда толку с этого?) необходимо менять select list. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 17:22 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
Для примеров с MySQL - просто limit 10, ессно :( Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 17:23 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
lockyВообще-то, результаты получаются разные... Как Вам сказать...... вообще-то в документации по использованию rownum специально и подробно разжевана та ошибка применения rownum, которую Вы сейчас демонстрируете. На пальцах: в том синтаксисе, который Вы использовали в первом случае, движок делает именно то, что Вы ему сказали. То есть: выбирает первые десять строк и сортирует их по object_name. lockyКроме того (что в принципе уже неважно)- получается заметная "усадка" по перформансу (0,031 против 5 секунд). Во-первых, для неэквивалентных запросов вполне естественна разная производительность. Во-вторых, никогда не пытайтесь мерять производительность конструкции, применяя ее к системным вьюхам - это все равно что оценивать производительность отбойного молотка во время землятрясения. lockyдля MySQL - всё не так плохо. Код: plaintext 1. 2. 3. Честно говоря, я не понимаю, зачем Вы уделяете столько внимания заведомо некорректным конструкциям. lockyТем более - можно просто к исходному запросу добавить limit - и получим то, что надо. Это какая-то религиозная разница. Объясните мне, какая разница между Код: plaintext 1. 2. 3. и Код: plaintext 1. 2. 3. Чуть длиннее писать? Ну да.... за время беседы мы потратили времени, которого хватило бы для написания этого "длиннее" эдак в сотне-другой промышленных систем. Впрочем, учитывая, что и то, и другое все равно нельзя выпускать в production, толку-то? lockyт.е. вместо "дописывания" запроса (как в MySQL) или "оборачивания" (как в Оракле, правда толку с этого?) необходимо менять select list. К совету забыть про "select list" Вы, видимо, так и не прислушаетесь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 17:58 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: Я очень рад, что в документации "всё подробно расписано" :) Честно. И что планы разные, и все дела - не только верю, но даже смотрел. Меня больше не теория волнует, а практика. Точнее... В части Оракла меня это как раз волнует меньше всего - Оракл для меня сорс, но никак не таргет. >Это какая-то религиозная разница. Нет. Это - вполне себе принятая практика в написании систем. Не я эти практики устанавливаю, не я пишу эти системы, но я должен с ними что-то сделать :-( > К совету забыть про "select list" Вы, видимо, так и не прислушаетесь.... Потому что у нас с Вами - задачи несколько разные. У Вас - "с нуля написать систему", у меня - заставить (с минимальными переделками) бежать уже сущствуеющую систему, изначально работающую с MySQL на MS SQL :) зы как-то мы отвлеклись от темы топега. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 19:38 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
locky >Это какая-то религиозная разница. Нет. Это - вполне себе принятая практика в написании систем. Брр... не понял ответа. Вы уверены, что это ответ именно на эти слова? locky> К совету забыть про "select list" Вы, видимо, так и не прислушаетесь.... Потому что у нас с Вами - задачи несколько разные. У Вас - "с нуля написать систему", у меня - заставить (с минимальными переделками) бежать уже сущствуеющую систему, Вы неудачно ставите акценты. Та задача, которую стараюсь решать я - "дать системе бежать вместо ползанья". И постепенно до моих начальников доходило, что если я упорно талдычу о том, что "здесь лучше сделать так", то дешевле сразу послушаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 19:48 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > >Это какая-то религиозная разница. > Нет. Это - вполне себе принятая практика в написании систем. > > Брр... не понял ответа. Вы уверены, что это ответ именно на эти слова? та да. Т.е. у меня нету никаких "религимозных побуждений". У меня есть существующий код, который надо портировать. > Вы неудачно ставите акценты. Та задача, которую стараюсь решать я - > "дать системе бежать вместо ползанья". И постепенно до моих начальников > доходило, что если я упорно талдычу о том, что "здесь лучше сделать > так", то дешевле сразу послушаться. Не всегда такой подход возможен - увы. Иногда приходится идти на компромиссы. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 20:09 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
lockyта да. Т.е. у меня нету никаких "религимозных побуждений". У меня есть существующий код, который надо портировать. Хм. Скажем так, если есть конкретный плохой код, и его нельзя вылечить подменой функции вроде той, которую предложил я - это не повод называть вариант хреновым, опуская "в особых, нигде до того не оговоренных условиях". lockyНе всегда такой подход возможен - увы. Иногда приходится идти на компромиссы. Хм. По моему опыту, такой подход возможен практически всегда, и вполне сочетается с необходимостью достижения тех или иных промежуточных целей - если, конечно, обе стороны готовы проявить должную гибкость и желание пораскинуть мозгами. Другой вопрос, что чаще всего он оказывается связан с геморроем уровня "а нафига оно мне надо?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 20:40 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > Хм. Скажем так, если есть конкретный плохой код, и его нельзя вылечить > подменой функции вроде той, которую предложил я - это не повод называть > вариант хреновым, опуская "в особых, нигде до того не оговоренных условиях". Ой, не обижайтесь так :) Я просто посмотрел на код "со своей колокольни" и расстроился. А особые условия и впрямь не оговорил :( Код - не плохой, код нормальный. Для MySQL+PHP. > Не всегда такой подход возможен - увы. Иногда приходится идти на > компромиссы. > > Хм. По моему опыту, такой подход возможен практически всегда, и вполне > сочетается с необходимостью достижения тех или иных промежуточных целей > - если, конечно, обе стороны готовы проявить должную гибкость и желание > пораскинуть мозгами. Другой вопрос, что чаще всего он оказывается связан > с геморроем уровня "а нафига оно мне надо?" Например, для автоматизированного портирования приложений. Либо - для придания "коробочкам" возможностей работы с более чем одной базой - по крайней мере на "переходный период". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 12:53 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
locky тыц wrote: > помню когда перешел с mysql на oracle тож долго жалел об отсутсвии > limit, сейчас даже не представляю жизнь без rownum =) limit даже лучше - при динамической формировании запроса нет нужды знать - есть клауза where или нет. rownum в этом плане хуже. Хотя - значительно лучше, чем эмуляция той-же хрени в MS SQL. Posted via ActualForum NNTP Server 1.4 да лана. в MS SQL делаешь пару top'ов с переворотом и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2007, 16:29 |
|
||
|
MySQL vs MSSQL (на конкретном прмере)
|
|||
|---|---|---|---|
|
#18+
borin wrote: > да лана. в MS SQL делаешь пару top'ов с переворотом и все. при ДИНАМИЧЕСКОМ ФОРМИРОВАНИИ SQL. Т.е. когда на входе уже есть сформированый запрос, который надо ограничить. И абсолютно не факт, что есть ПК. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 15:03 |
|
||
|
|

start [/forum/search_topic.php?author=magres&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 438ms |
| total: | 589ms |

| 0 / 0 |
