Яка різниця між MYSQL та SQL Server 2014 Express?


Відповідь 1:

Як людина, яка щодня працює з MySQL та SQL Server 2014, я можу вам сказати, що, на мою думку, є основними відмінностями (плюс мої власні симпатії та нелюбові eachone)

ВПРОВАДЖЕННЯ МОВИ SQL

SQL Server має величезну історію з собою, вони побудували двигун, виходячи з того, що кожен запит потребує плану виконання, у вас є кращі інструменти в SQL Server для оптимізації вашого запиту, візуально аналізуючи витрати вашого запиту. У MySQL відсутній такий інструмент аналізу, або вам доведеться платити за нього.

У MySQL ви можете зробити це: Виберіть a, b, c + y, count (d) як лічильник з ztable групи на 1,2. 3. У SQL Server ви повинні зробити це: Виберіть a, b, c + y, count ( г) як лічильник ztable групи a, b, c + y.

У MySQL ви обмежуєте свої запити за допомогою пункту LIMIT. Наприклад:

ВИБІР * З деякого обмеження таблиці 50, 10. Це дає результати результатів запиту, лише рядки, від 50 до 59. Це корисно для ряду речей.

SQL Server використовує цей ВИБІР * ВІД dbo.SomeTable OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY.

Можна зробити те ж саме, але потрібно набагато більше написати на SQL Server.

У MySQL ви можете використовувати, якщо (some_condition = true, useThisValueIfTrue, useThisValueIfFalse) ви можете ТАКОЖ використовувати CASE: CASE WHEN a = true THSE 1 ELSE 0 END як SomeValue. У SQL Server у вас ТІЛЬКИ є CASE. Що дає вам пекло набагато більше, щоб написати на кожен запит.

Зараз, з іншого боку, у SQL Server є набагато більше варіантів, коли мова йде про складні запити, є PIVOT для створення CROSSTAB Queries, є CROSSJOIN та ще безліч інших функцій, які роблять SQL Server справді крутим для розширених запитів.

Вставляючи дані, в MySQL ви можете зробити це:

Вставте у мій набір a = значення, b = інше значення.

У SQL Server ви можете ТОЛЬКО використовувати класичний:

вставити в mytable (a, b) значення (значення, інше значення)

або

вставити в містуючі значення (значення, інше значення)

Зараз у 2, 3, 4 стовпцях це, мабуть, не найменш громіздко, але коли ви натискаєте 40, 50 стовпців, болісно робити вставку без помилок, особливо, коли задіяні складні обчислені значення.

Тож для мене MySQL легко перемагає SQL Server за простими запитами, навіть 2-3 запитами таблиці. Але у довгих складних запитах SQL Server є King.

РЕКЛАМИ

Знову ж таки, SQL Server був побудований, думаючи про складні ситуації, є щонайменше 3 способи зробити повну резервну копію, а також є складні, додаткові резервні копії, двійкові файлові системи та скрипт. Ви, ймовірно, повинні дотримуватися двійкового файлу, але є ТОН проблем із безпекою, з якими потрібно бути ДОБРЕ ЗАБЕЗПЕЧЕНО при відновленні SQL SERVER. Відновлення резервної копії в SQL Server НЕ ЗАБЕЗПЕЧЕНО. Вам потрібно знати, що ви робите, або ви можете зіпсувати свою базу даних. ТАКОЖ, якщо ваша база дійсно невелика, я б ніколи не рекомендував використовувати відновлення файлів SQL на SQL SERVER, це триває назавжди, а іноді дамп виходить з ладу, і ви це дізнаєтесь, 45 хвилин до 1 години пізніше, якщо вам пощастить .

З іншого боку, MySQL - це просто скидання SQL у файл та відновлення цього SQL. Це працює, це просто, і ви можете легко навчити будь-якого середовища, щоб користувач працював із резервними копіями, і це буде легко, без зайвих клопотів. Але ви також повинні підтримувати та забезпечувати безпеку самостійно, що може бути громіздким часом залежно від вашого оточення.

ВИКОРИСТАННЯ ДИСКУ

Я читав десь тут, на Quora, коли хлопець сказав, що використання диска не важливо, оскільки зберігання дешеве. Добре, це може бути так, але все-таки нерозумно витрачати це просто тому.

Ну, MySQL дуже компактний, у мене є кілька встановлень на невеликі компанії, які датуються 2003 роком, і дані ніколи не досягали 10 ГБ, і вони мають таблиці з мільйонами рядків, і все-таки дані не виросли пропорційно.

У SQL Server у мене була інша установка, яка з'їла 2 ГБ лише через 2 місяці! Потрібно підтримувати SQL Server, вам потрібно очистити свої журнали, вам потрібно резервно створювати резервні копії бінарних файлів, щоб ваш SQL Server дозволяв вам підтримувати вашу базу даних і мати людину, яка вміє обробляти роботу з даними з кожним випадку, залежно від кількості користувачів, складності встановлення, типу даних, з якими обробляються, через що місцями DBA є обов'язковими. MySQL можна підтримувати з середньопідготовленим користувачем енергії, і це буде добре.

Також є кілька речей, які неможливо зробити на SQL Server, не маючи SQL Profiler AND SQL Agent. MySQL може робити все самостійно, не набагато більше ніж один сервіс.

Ще раз, залежно від розміру та складності вашого підприємства, дорогою може стати SQL Server. Але MySQL є хорошим суперником, якщо вам не потрібні ці складності.

ЗБЕРЕЖЕННІ ПРОЦЕДУРИ, ФУНКЦІЇ ТА UDFS

Це країна сміливих у RDBMS, я навіть виробляю курс Udemy на SP на MySQL. Але скільки я люблю SP, тригери, функції та все MySQL, ти мусиш подарувати його SQL SERVER.

Тепер, перш ніж ви обезголовляєте мене за це, дозвольте лише додати, SP-адреси на SQL Server є швидкими, можуть бути складними, є багато утиліт, щоб полегшити ваше життя, вони можуть бути складені іншими мовами, як c # і візуальний базовий, Ви навіть можете створити змінні TABLE, які можуть працювати швидше і простіше, ніж тимчасові таблиці на MySQL. У них багато чого відбувається.

MySQL також може мати визначені користувачем функції, але вам потрібно володіти знаннями C. Якщо ви є, вам нічого не турбуватися. Нас багато, ні.

Звичайно, є більше, але я сподіваюся, що ви отримаєте ідею.

Удачі!


Відповідь 2:

SQL Server Express від широкого бізнесу, якщо ви використовуєте SQL у своїй роботі, у вас є кілька альтернатив. Перевірка запитів SQL - лише одна з численних речей, які можна екранувати за допомогою префікса.

SQL Server Express пропонує різні цікаві місця. Перше і, здавалося б, найважливіше - це повна універсальність і координація з SQL Server.

Детальніше: SQL Server Express | Версії SQL Server Express