Jaka jest różnica między MYSQL a SQL Server 2014 Express?


Odpowiedź 1:

Jako osoba, która codziennie korzysta zarówno z MySQL, jak i SQL Server 2014, mogę powiedzieć, jakie są główne różnice (plus moje własne upodobania każdego z nas)

WDROŻENIE JĘZYKA SQL

SQL Server ma ogromną historię ze sobą, zbudowali silnik oparty na założeniu, że każde zapytanie wymaga planu wykonania, masz lepsze narzędzia w SQL Server do optymalizacji zapytania, analizując wizualnie koszty zapytania. MySQL nie ma tego rodzaju narzędzia analitycznego lub trzeba za to zapłacić.

W MySQL możesz to zrobić: wybierz a, b, c + y, count (d) jako licznik z grupy ztable przez 1,2 3. W SQL Server MUSISZ to zrobić: wybierz a, b, c + y, count ( d) jako licznik z grupy ztt przez a, b, c + y.

W MySQL ograniczasz swoje zapytania za pomocą klauzuli LIMIT. Na przykład:

WYBIERZ * Z SomeTable Limit 50, 10. To daje wyniki zapytania, tylko wiersze od 50 do 59. Jest to przydatne do wielu rzeczy.

SQL Server używa tego WYBIERZ * Z dbo.SomeTable OFFSET 50 ROWS FETCH NEXT 10 ROWS TYLKO.

Możesz zrobić to samo, ale musisz napisać o wiele więcej na SQL Server.

W MySQL możesz użyć if (some_condition = true, useThisValueIfTrue, useThisValueIfFalse), możesz również użyć PRZYPADKU: PRZYPADEK, GDY a = true, a następnie 1 ELSE 0 END jako SomeValue. W SQL Server masz TYLKO PRZYPADEK. Co daje o wiele więcej do napisania na każde zapytanie.

Teraz z drugiej strony SQL Server ma o wiele więcej opcji, jeśli chodzi o złożone zapytania, istnieje PIVOT do tworzenia zapytań CROSSTAB, jest CROSSJOIN i wiele innych funkcji, które sprawiają, że SQL Server jest naprawdę fajny dla zaawansowanych zapytań.

Podczas wstawiania danych w MySQL możesz to zrobić:

wstaw do zestawu mytable a = wartość, b = inna wartość.

W SQL Server możesz używać TYLKO klasycznego:

wstaw do mytable (a, b) wartości (wartość, inna wartość)

lub

wstaw do mytable wartości (wartość, inna wartość)

Teraz w 2, 3, 4 kolumnach prawdopodobnie nie jest to co najmniej kłopotliwe, ale kiedy naciskasz 40, 50 kolumn, trudno jest wstawić wstawkę bez popełniania błędów, szczególnie gdy w grę wchodzą złożone obliczone wartości.

Więc dla mnie MySQL z łatwością pokonuje SQL Server przy prostych zapytaniach, nawet 2-3 zapytaniach tabelowych. Ale w przypadku długich, złożonych zapytań SQL Server jest królem.

Kopie zapasowe

Po raz kolejny SQL Server został zbudowany z myślą o złożonych sytuacjach, istnieją co najmniej 3 sposoby na wykonanie pełnej kopii zapasowej oraz istnieją złożone, przyrostowe kopie zapasowe, pliki binarne, system plików i skrypt. Prawdopodobnie powinieneś trzymać się plików binarnych, ale istnieje mnóstwo problemów z bezpieczeństwem, które musisz być DOBRZE ŚWIADOME podczas przywracania SQL SERWERA. Przywracanie kopii zapasowej w programie SQL Server NIE JEST DOSTOSOWANE. Musisz wiedzieć, co robisz, w przeciwnym razie możesz zepsuć bazę danych. RÓWNIEŻ O ile twoja baza danych nie jest naprawdę mała, nigdy nie poleciłbym nigdy używać SQL File Restore na SQL SERVER, to trwa wiecznie, a czasem zrzut się nie powiedzie i poznasz to, 45 minut do 1 godziny później JEŚLI masz szczęście .

Z drugiej strony MySQL polega tylko na zrzuceniu SQL do pliku i przywróceniu tego SQL. Działa, jest prosty i można łatwo wyszkolić dowolnego użytkownika średniego i zaawansowanego do pracy z kopiami zapasowymi i zrobi to łatwo bez żadnych problemów. ALE musisz także samodzielnie dbać o bezpieczeństwo, co może być czasem kłopotliwe w zależności od środowiska.

UŻYCIE DYSKU

Czytałem gdzieś tutaj na Quora, gdy facet powiedział, że użycie dysku nie jest ważne, ponieważ pamięć jest tania. Cóż, może tak być, ale nadal głupio jest marnować to tylko dlatego.

Cóż, MySQL jest bardzo kompaktowy, mam kilka instalacji w małych firmach, które pochodzą z 2003 roku, a dane nigdy nie osiągnęły 10 GB, i mają tabele z milionami wierszy, a mimo to dane nie wyrosły z proporcji.

W SQL Server miałem kolejną instalację, która zjadła 2 GB po zaledwie 2 miesiącach! SQL Server musi być utrzymywany, musisz wyczyścić swoje dzienniki, musisz wykonać kopię zapasową binarnie, aby SQL Server pozwalał ci na utrzymanie bazy danych i mieć osobę, która wie, jak obsługiwać dane z każdym w zależności od liczby użytkowników, złożoności instalacji, rodzaju obsługiwanych danych, dlatego w niektórych miejscach DBA są koniecznością. MySQL może być obsługiwany przez średnio wyszkolonego zaawansowanego użytkownika i będzie dobrze.

Jest także kilka rzeczy, których nie można zrobić w SQL Server bez SQL Profiler AND SQL Agent. MySQL może zrobić wszystko sam, bez więcej niż jednej usługi.

Ponownie, w zależności od wielkości i złożoności przedsiębiorstwa, SQL Server może być dobrym rozwiązaniem. Ale MySQL jest dobrym kandydatem, jeśli nie potrzebujesz tych złożoności.

ZAPISANE PROCEDURY, FUNKCJE I UDFS

To kraina odważnych w RDBMS, nawet przygotowuję Kurs Udemy na temat SP na MySQL. Ale o ile uwielbiam SP, wyzwalacze, funkcje i wszystko MySQL, musisz dać to SQL SERVER, oni mają to najlepiej.

Teraz, zanim mnie o tym powiesz, pozwólcie, że dodam: SP na SQL Server są szybkie, mogą być złożone, mają wiele narzędzi ułatwiających życie, można je skompilować w innych językach, takich jak c # i Visual Basic, możesz nawet tworzyć zmienne TABLE, które mogą działać szybciej i łatwiej niż tymczasowe tabele na MySQL. Mają dużo do roboty.

MySQL może mieć również funkcje zdefiniowane przez użytkownika, ale musisz być biegły w C. Jeśli tak, nie musisz się o nic martwić. Wielu z nas nie ma.

Jest oczywiście więcej, ale mam nadzieję, że masz pomysł.

Powodzenia!


Odpowiedź 2:

SQL Server Express, rozszerzając wybór z dużych firm, jeśli używasz SQL w swojej pracy, masz kilka dostępnych opcji. Sprawdzanie zapytań SQL to tylko jedna z wielu rzeczy, które można przeglądać za pomocą Prefiksu.

SQL Server Express oferuje różne interesujące miejsca. Pierwszą i na pozór najważniejszą jest całkowita wszechstronność i koordynacja z SQL Server.

Czytaj więcej: SQL Server Express | Wersje programu SQL Server Express