Да, mysql очень штука не простая. Меня больше всего радуют люди, которые говорят что MSSQL намного круче MySQL потому что там мол интерфейс и много инструментов а в mysql «ни хрена же нет, только запросы писать можно!»
Ну я бы сказал по другому, mssql круче, но для чего? Для обычных сайтов с малым кол-во посещений нет разницы какая субд, а вот при больших нагрузках и специфических задачах, тут уже нужно смотреть. У самого в проекте стоит mysql-кластер и жалоб никаких нет.
А чем отличается, как вы говорите «консольная субд», от субд, которая запускается в винде в виде «сервиса»? о_О
Субд и все эти примочки в виде ГУИ — абсолютно разные вещи…
Для мускуля тоже имеются ГУИ…
Я вот работаю в основном с MSSQL и очень люблю её за SQL Profiler, Query Analyzer, Management Studio и другие фичи. Когда пришлось работать с MySQL начал искать схожие по удобству, проработанности и функционалу утилиты для мускула, ведь «Для мускуля тоже имеются ГУИ». Боюсь вас разочаровать — ничего сравнимого с утилитами от мелкомягких для MySQL нету.
И не надо меня попрекать, что я гонусь за GUI. Просто GUI в MSSQL позволяет мне сделать и оттестировать гораздо больший объем работы и сделать это на более качественном уровне.
И сразу предостерегу от высокомерного «нам GUI не нужен» — тут в недавнем топике уже выяснили, что большая часть веб-разработчиков так и не удосужились освоить язык SQL на уровне, превосходящем простые запросы (к слову о HAVING ))) и имеют весьма туманное представление например о написании и отладке хранимых процедур.
Хочу заметить, что я не перестаю удивляться отсутствию многофункциональных систем разработки и отладки для MySQL — даже для вполне себе бесплатного Firebird можно найти хорошие коммерческие программы управления базами данных.
Ага, спасибо, буду смотреть. EMS на скриншоте и по описанию выглядит неплохо, не попадался почему-то он мне в моих поисках, так что может я и поторопился… Тогда примите извинения за необоснованный наезд. ;)
Мне например, такой SQL pofiler, как в MySQL удобнее, чем ГУИшный, я могу в своем мини-фреймворке получить эти данные и вывести их тут же. под страницей. Могу скриптом их анализировать. А кнопки тыкать мне неохота (к тому же у всяких ГуИ для СУБД обычно скучный интерфейс, уснуть можно).
И вообще, зачем БД GUI? Она должна запросы выполнять.
У нас подразделение, которое занимается разработкой на ASP.NET, большую часть времени проводит в Microsoft SQL Management Studio, так как вся бизнес логика основана на хранимых процедурах.
Там скорее всего не сама бизнес логика, а та ее часть, что должна работать на базе. Т.е. вместо query = «SELECT * FROM tblANYTHING» в коде стоит вызов хранимой процедуры через какой-то из connection objects, а уже в самой процедуре написано SELECT a, b, c FROM tblANYTHING
И? MS SQL точно также умеет отдавать данные профайлера с помощью простых запросов, и уж если тебя SQL Profiler не устраивает, так ради бога, выводи ты профайл хоть в текстовик, хоть в xml, хоть на лету считай, как уж тебе захочется. Не надо думать что MS SQL не умеет что-то, что можно сделать в MySQL.
Спорный вопрос, графическими инструментами не так часто приходится для MSSQL пользоваться, но вот в моем случае, тестировался MySQL и MSSQL для использования для сервера приложений, при их возможностях работы с большими объемами данных и сложными выборками, победил MSSQL, но вот для сайта был все же MySQL выбран.
все хорошо кроме одного, я не могу из одной сессии профилировать другую, т.е. реально мне нужно в коде прописать включение, выключение и в конце дамп вывода в какой-то файл — это не удобно, если чисто посмотреть запросы то тут удобнее mysql_proxy — ничего не надо менять в проекте (ну только порт)
Конкретную сессию вылавливать очень сложно, т.к. средняя сессия работы с БД у нас длится в среднем меньше 0.2секунды
Для нас гораздо удобнее смотреть, по факту загрузки определенной страницы — чем она генерится.
С просмотра общего потока запросов мы начинали, в один момент времени база обслуживает
много пользователей и в общем потоке запросов трудно выделять свои.
я наткнулся на этот профайлер, когда мы думали как сделать вывод всех запросов в консоль FireBug (через firephp)… сначала начлали писать враппер вокруг класса доступа к БД…
но когда узнали про эту фичу — добавили два фрагмента кода, в самом начале программы, при подключении к БД, и в самом конце дампим в консоль,
при этом не нагружается код дополнительными подсчетами времени на каждый запрос, это за нас делает СУБД. код в итоге получился компактнее.
реально первый раз вижу когда плюют в карму кода дается линк на РЕАЛЬНо полезный продукт для работы с профилированием. к тому же дается линк на топики посвященные профилированию мускула…
>какими запросами формируется страница (для веб-девелоперов)
и почему она тормозит
Позанудю: почему страница «тормозит» расскажет, скорее, EXPLAIN. А профайлер покажет как она тормозит.
Стоит упомянуть неудобство: show profile показывает профили максимум для 100 запросов :(
Сегодня использовал эту профилировку. Может это баг, может фича, но в выводе show profiles; вижу кусок запроса, а не весь. И фиг знает, почему он его отрезает :-(
Может у кого есть идеи по этому поводу? А то смысла в этом профилировщике вообще нет.
MySQL Profiler: простой и удобный инструмент профилирования запросов