Недостатки MySQL по сравнению с другими базами данных

Вы используете или gconf-редактор/system/http_proxy/ignore_hosts
или dconf-редактор (и вручную перешли к системе-> http_proxy-> ignore_hosts).

Вопреки тому, что записали другие, нет никакой потребности повторно войти в систему для изменений для вступления в силу.
, Кроме того, настройки, сделанные для/system/http_proxy/ignore_hosts также, вступают в силу для https.

28
задан 8 revs, 4 users 63% 27 July 2015 в 05:17
поделиться

18 ответов

Вот случайный список вещей, которые приходили мне в голову. Это CW, так что не стесняйтесь добавлять к нему по мере необходимости.

  1. Oracle предоставляет первоклассную ERP, построенную на их базе данных. Если ваша компания подчиняется правилам Сарбейнса-Оксли, это намного выше «критического».
  2. Лицензии на SQL Server поставляются вместе со службами Analysis Services, Integration Services и Reporting Services. Если вы хотите что-то сделать с OLAP, ETL или отчетами, эти три отличные приложения, построенные на стеке SQL Server.
  3. SQL Server имеет собственные типы данных .NET (в 2008 году). Абсолютно замечательно для магазинов .NET, работающих с наборами геопространственных данных.
  4. MySQL не поддерживает проверочные ограничения.
  5. SQL Server включает предложение over , которое помогает при работе с «верхними n строками в каждой группе. "проблема. По сути, вы можете выполнять агрегатные функции, секционированные по набору данных, как хотите.
  6. SQL Server изначально использует аутентификацию Kerberos и Windows. MySQL не связан с Active Directory.
  7. Превосходная производительность по подзапросам (почти любая база данных имеет производительность подзапросов, превосходящую MySQL)
  8. Oracle, SQL Server, PostgreSQL и другие имеют более богатый набор доступных им алгоритмов соединения; это означает, что соединения часто можно выполнять быстрее, особенно когда задействованы большие таблицы.
28
ответ дан 28 November 2019 в 02:42
поделиться

Also, if you don't have to use RDBMS, checkout redis. It is basically memchached with persistence with asynchronous write through. The performance is not on the same scale with MySQL.

Well... I guess the comparison isn't really fair to MySQL since it's not RDBMS...

-4
ответ дан 28 November 2019 в 02:42
поделиться

I've worked with MySQL for years, and SQL Server only over the past year. I don't really see one being any easier or harder to use than the other in most cases. I do wish, however, that MSSQL had some of the features that MySQL possesses (e.g. being able to insert multiple rows on a single INSERT statement).

-2
ответ дан 28 November 2019 в 02:42
поделиться

My personal story:

Adding a new index to a table of about 10k rows.

MySQL side about 30 seconds.

Postgres side about 1 second.

-1
ответ дан 28 November 2019 в 02:42
поделиться

Несколько страниц со списком ошибок (например, this и this ) заставляют меня держаться как можно дальше от MySQL. Вот более нейтральное сравнение Postgres и MySQL.

Что касается аспекта открытого исходного кода, упомянутого другими: MySQL - это открытый исходный код и бесплатный, только если ваше приложение тоже. В противном случае вам понадобится коммерческая лицензия.

0
ответ дан 28 November 2019 в 02:42
поделиться

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

SQL Server стоит в среднем диапазоне. Его могут поддерживать «нормальные люди», из тех, которые идут домой каждый день в 17:00 и имеют естественное нежелание к пятидесятистраничным инструкциям. SQL Sever работает хорошо в большинстве случаев, но может выйти из строя в определенных сценариях.

Oracle является самым дорогим и требует высокооплачиваемых операторов. Если у вас есть деньги, Oracle - "безопасный" выбор, потому что Oracle ничего не сделает за деньги.

Три продукта, три рынка!

0
ответ дан 28 November 2019 в 02:42
поделиться

Мне не нравится лицензия MySQL: Firebird и PostgreSQL лучше

В MySQL от Sun нет реального включения горячей резервной копии

, вы также можете посмотреть здесь интересная ссылка и комментарий!

1
ответ дан 28 November 2019 в 02:42
поделиться

Я знал, что мне нужно разочароваться когда я увидел, что кто-то предлагает кому-то использовать Oracle вместо MySQL и подумал: "Да какого черта ты want to do that?!"

Because your company has been using Oracle for the past ten years, or because you equate enterprise usage with 'must be good' and open-source with 'free crap'. That's just about the only reason. Everyone I know who has worked with Oracle loathes it. Everyone I know who has worked with MySQL, assuming they don't love it, at least consider it a better alternative to Oracle in almost every regard.

SQL RMDBs are so complex though, that in almost every respect there's something one DB does that another doesn't. It is also, unfortunately, a fact of comparing databases that people quote statistics without using properly configured servers. If you have two default configurations for a server, one might be better than the other, but that's about as far as the comparisons usually go. They don't reflect the fact that these gigantic applications have a million little switches and toggles you can use to speed certain things up, increase reliability and generally screw up bad science.

2
ответ дан 28 November 2019 в 02:42
поделиться

В принципе, существует несколько вариантов для базы данных. Откровенно говоря, в современном мире выбор БД менее важен, чем это было несколько лет назад. Вот несколько вопросов, которые следует учитывать.

  1. Большинство современных систем баз данных, широко используемых, таких как SQL Server (и SQL Server Express), Oracle, MySQL, SQLLite и т. Д., Относительно соответствуют стандартам и могут использоваться в некоторой степени взаимозаменяемо. Некоторые обслуживают разные нишевые рынки. Например, SQL Server, MySQL и Oracle - хороший выбор для крупных корпоративных приложений. SQLLite очень хорош для приложений, которые развертываются на клиенте и нуждаются в локальной базе данных с небольшим размером и минимальной конфигурацией. (На мой взгляд, цена Oracle чрезвычайно завышена, и ее поддерживает высокомерная и безответная компания. Это никогда не было бы моим первым выбором в любом проекте. Я бы использовал его только в том случае, если это было предписано клиентом или по необходимости.)

  2. Высокий процент разработчиков верхнего уровня используют такие инструменты, как Hibernate (Java) / NHibernate (.NET), для создания своих уровней доступа к данным. Варианты Hibernate настоятельно рекомендуют разработчикам начинать с разработки объектной модели, а не модели базы данных. Затем приложение Hibernate автоматически генерирует модель данных и даже обрабатывает обновления модели данных. Варианты Hibernate можно использовать с любым из основных поставщиков баз данных. Изменение выбора базы данных может быть таким же простым и безболезненным, как выбор другого типа базы данных в вашей конфигурации. С другой стороны, я должен упомянуть, что, хотя Hibernate и NHibernate совместимы с разными базами данных, они не работают с наименьшим общим знаменателем. Код доступа к данным в этих приложениях часто предназначен для использования преимуществ специальных функций в рамках данного механизма базы данных. Например, NHibernate поддерживает доступ к типу данных NVarchar (Max) в SQL Server, который допускает использование очень длинных строк.

  3. В большинстве приложений проблемы с производительностью базы данных не связаны напрямую со скоростью чтения и записи. Большинство проблем связано с тем, как приложение управляет кэшированием часто используемых данных. Например, на сайте онлайн-блога имеет смысл кэшировать сообщения блога после того, как они были прочитаны, чтобы они не извлекались повторно из базы данных. Этот механизм кэширования почти всегда в первую очередь обрабатывается кодом приложения, а не сервером базы данных, хотя серверы баз данных обеспечивают некоторое кэширование. Hibernate / NHibernate имеют отличную встроенную поддержку кэширования, как и Microsoft ASP.NET и их новая платформа MVC, построенная на основе ASP.NET.

  4. Базы данных Enterpise (SQL Server, Oracle, MySQL) лучше всего подходят для ситуаций, когда такие функции, как репликация необходимы кластеризация, огромные наборы данных и т. д.

1
ответ дан 28 November 2019 в 02:42
поделиться
  • Параметры сортировки по умолчанию в mysql не чувствительны к регистру. Само по себе это не проблема, но я думаю, что это странное значение по умолчанию свидетельствует о том, что оно предназначено для разработчиков-любителей, а не для профессионалов. Это серьезное предположение, но я думаю, что любой профессионал мог бы ожидать, что база данных будет сравнивать строки для идентификации по умолчанию (то есть с использованием двоичного сопоставления).
  • Манипуляции с таблицами во время транзакций вызывают неявные COMMIT. Хотя на первый взгляд это может не показаться печальным, вы заметите, что не можете работать в условиях ACID , если изменение / создание таблиц является неотъемлемой частью вашего приложения.
3
ответ дан 28 November 2019 в 02:42
поделиться

The future is of sun (the company behind mysql) is unclear and you don't know whether there will be a company to back the product.

3
ответ дан 28 November 2019 в 02:42
поделиться

Everyone seems to be missing one of the main reasons to stick with Oracle/MS. You've already got a stable full of DBAs that know those products inside and out.

5
ответ дан 28 November 2019 в 02:42
поделиться

Было показано, что MySQL связывает Oracle с Oracle как самым быстрым и наиболее масштабируемым программным обеспечением для баз данных.

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

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

Существует множество других критических замечаний в адрес MySQL по сравнению с XYZ и наоборот. Я хочу сказать, что это сложный вопрос, и книга сильно упрощает его. Если вы вообще занимаетесь базами данных, вам нужно потратить время на то, чтобы разнообразить свои знания и понять основы.

Мое личное мнение таково, что MySQL и SQLite - худшие места для начала. Выберите что-нибудь вроде Oracle (который можно бесплатно загрузить для изучения / оценки, чего многие не понимают), PostgreSQL (лицензия BSD) или MS SQL. FirebirdSQL тоже может подойти. После того как вы ознакомитесь с несколькими системами, вы сможете сделать осознанный выбор относительно того, подходят ли вам компромиссы MySQL.

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

Мое личное мнение таково, что MySQL и SQLite - худшие места для начала. Выберите что-нибудь вроде Oracle (который можно бесплатно загрузить для изучения / оценки, чего многие не понимают), PostgreSQL (лицензия BSD) или MS SQL. FirebirdSQL тоже может подойти. После того, как вы познакомитесь с несколькими системами, вы сможете сделать осознанный выбор, подходят ли вам компромиссы MySQL.

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

Мое личное мнение таково, что MySQL и SQLite - худшие места для начала. Выберите что-нибудь вроде Oracle (который можно бесплатно загрузить для изучения / оценки, чего многие не понимают), PostgreSQL (лицензия BSD) или MS SQL. FirebirdSQL тоже может подойти. После того, как вы познакомитесь с несколькими системами, вы сможете сделать осознанный выбор, подходят ли вам компромиссы MySQL.

t реализовать), PostgreSQL (лицензия BSD) или MS SQL. FirebirdSQL тоже может подойти. После того как вы ознакомитесь с несколькими системами, вы сможете сделать осознанный выбор относительно того, подходят ли вам компромиссы MySQL.

t реализовать), PostgreSQL (лицензия BSD) или MS SQL. FirebirdSQL тоже может подойти. После того, как вы познакомитесь с несколькими системами, вы сможете сделать осознанный выбор, подходят ли вам компромиссы MySQL.

24
ответ дан 28 November 2019 в 02:42
поделиться

MySQL - это система баз данных очень общего назначения, вы можете использовать ее практически для всего, для чего вы бы использовали Oracle, SQL Server, PostgreSQL, DB2 и т. Д.

Однако, Эти разные системы имеют разные сильные стороны, PostgreSQL имеет намного больше функциональных возможностей, чем MySQL, и может обрабатывать некоторые очень специфические задачи, с которыми MySQL борется. SQL Server обычно очень легко интегрируется с продуктами Microsoft, тогда как MySQL вам придется проделать дополнительную работу, чтобы заставить их работать вместе. Oracle МАССИВНЫЙ, это не просто базы данных, и когда вы имеете дело с большими, обширными системами, у Oracle, вероятно, есть оборудование, чтобы покрыть все под одной крышей, тогда как вам нужно связать кучу разрозненных систем вместе, чтобы иметь MySQL есть ваша система баз данных.

2
ответ дан 28 November 2019 в 02:42
поделиться

Заявление об ограничении ответственности: я использую MySQL с 2001 года и до сих пор люблю его, но вот несколько причин, которые заставляют меня сомневаться в моей верности ...

Есть несколько ложных аргументов (это было правдой несколько лет назад) в некоторых ответах, которые я читал. Прежде чем сделать выбор, проверьте документацию MySQL и ее актуальный список функций. Вы можете быть удивлены.

Каждому серверу БД не хватает функциональности. Это не настоящая проблема с блокировкой, если они вам специально не нужны.

Для меня основные проблемы в другом месте:

  1. Время, необходимое для исправления ошибки и публикации в стабильном выпуске. Это позор. (На некоторые ошибки ... требуются годы (без шуток)! )
  2. Частота стабильных выпусков.

Но с этого года новыми проблемами являются:

  1. Количество растущих веток (Percona, Google, Facebook и т. Д.).
  2. Sun не уверен в своем
  3. Многие сотрудники MySQL покинули компанию.
2
ответ дан 28 November 2019 в 02:42
поделиться

MySQL очень терпимо относится к неоднозначности -- то, что вы не хотите в системе баз данных. Вот несколько примеров из верхней части моей головы:

  • Как сказал другой постер, CHAR и VARCHAR столбцы нечувствительны к регистру, уже довольно плохой знак.
  • Вы можете INSERT вписать в таблицу столбец без значения по умолчанию, которое также является NOT NULL. Да, действительно! Вместо того, чтобы бросать ошибку, MySQL выберет для вас значение, основанное на типе данных, например, 0 для чисел.
  • Вы можете использовать утверждение GROUP BY, в то время как некоторые столбцы не используют функцию агрегирования, и не включаются в утверждение GROUP BY. Результат получается довольно случайным. По моему опыту, здесь также нет ни предупреждений, ни ошибок.

MySQL также далеко не годится для камня. Только в этом месяце я обнаружил ошибку в (признаться, старой, но "стабильной версии") MySQL, используемой DreamHost, которая приводит к потере данных. (Определенные условия при создании таблицы со строками переменной длины.)

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

.
2
ответ дан 28 November 2019 в 02:42
поделиться

MySQL, безусловно, может сравниться или превзойти Oracle по скорости. Я сам делал это много раз. Хорошо, поэтому мне пришлось использовать различные типы таблиц, такие как черная дыра, слияние, innodb и myisam, только с правильными шнурками. И мне потребовалось несколько дней, чтобы все заработало правильно. Администратор базы данных Oracle наладил работу через час или два.

MySQL подходит для 98% сайтов, а может и больше. Но довольно легко запустить сканирование без большого количества данных, если вы не знаете, что делаете. Oracle немного сложнее заставить ползать, но это все же можно сделать. Я работал с обоими наборами данных в сотнях миллионов записей (по некоторым меркам крошечных). MySQL требует немного больше внимания.

Ни одна база данных не может масштабироваться бесконечно, поэтому «базы данных» nosql становятся настолько популярными. Я думаю, что реальный вопрос заключается в том, «достаточно ли хорош» MySQL для того, что вам нужно. Цена конечно подходящая. То же можно сказать и о PHP.

Почему Facebook использует MySQL? Представляете, во сколько им обойдется покупка достаточного количества лицензий Oracle !? Достаточно хорошо.

3
ответ дан 28 November 2019 в 02:42
поделиться

Это бесплатно и с открытым исходным кодом.

Верно. Но имейте в виду, что MySQL во многих случаях не бесплатен для коммерческого использования. MySQL и коннекторы (официальные драйверы для различных языков) находятся под лицензией GPL.

Если вы используете, скажем, Connector / .NET для подключения к MySQL, ваш код должен быть совместим с GPL. Однако он имеет двойную лицензию, поэтому вы можете купить корпоративную версию под другой лицензией - и я считаю, что у них есть (бесплатная или просто очень дешевая) программа, которая позволяет вам лицензировать соединители под другой лицензией.

Все, кого я знаю, использующих MySQL, не знают об этом: -)

3
ответ дан 28 November 2019 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: