Esistono vantaggi speciali di SQL Server con Visual Studio?

6

Ho visto il forum dba.StackExchange, ma questa domanda riguarda anche Visual Studio, quindi ho voluto postare questa domanda qui.

Una delle mie vecchie applicazioni era basata su back-end VS-2008 e MySQL. Dopo tre anni, non ho alcun problema importante con esso e anche le prestazioni del database sono buone. Sto ridimensionando questa applicazione a un'applicazione WPF e desidero sapere se SQL Server presenta vantaggi aggiuntivi se utilizzato con VS-2010, diverso da Microsoft, su MySQL?

Nella maggior parte degli scenari, noto che l'esecuzione di query in MySQL è più veloce rispetto a SQL Server.

    
posta RPK 20.07.2011 - 10:43
fonte

3 risposte

10

Vantaggi di SQL Server su MySQL:

  • Le transazioni. MySQL non supporta completamente le transazioni (qualsiasi operazione su tabelle MyISAM, così come qualsiasi istruzione DDL, impegna silenziosamente una transazione in sospeso, il che rende praticamente inutile il supporto della transazione)
  • SQL Server, Visual Studio e l'intero ecosistema .NET sono progettati per funzionare insieme. Sebbene tu possa usare MySQL con .NET, non si integra perfettamente.
  • Procedure memorizzate più potenti. T-SQL ha un set completo di funzioni di programmazione imperative, e mentre la sintassi è ancora molto indietro rispetto ad un linguaggio di programmazione appropriato, puoi fare cose incredibili con esso.
  • È possibile importare DDL .NET in SQL Server ed eseguire le funzioni CLI .NET dalle query T-SQL: questo significa che qualsiasi funzione ritenuta mancante dal proprio dialetto SQL può essere fornita tramite questo meccanismo (l'ho usata una sola volta per ordinare interrogare i risultati per distanza geografica
  • SQL Server offre un supporto di replica migliore. Se hai bisogno di scalare il tuo database al di là di un singolo server o di una semplice configurazione master-slave, MySQL sarà un problema
  • Blocco a grana più fine. MySQL blocca spesso interi tavoli; il risultato può essere che se si esegue una query costosa unendo due o tre delle tabelle più importanti, queste tabelle potrebbero essere completamente inaccessibili per diversi secondi. SQL Server ha un blocco per riga più sofisticato, il che significa che anche se stai interrogando alcune righe in una tabella, altre file possono ancora essere inserite o modificate contemporaneamente.
  • Supporto nativo per i GUID come chiavi primarie - se preferisci i GUID per le tue chiavi, ovvero (che è un modo per ridurre il dolore della migrazione).

Svantaggi:

  • Costo. MySQL è essenzialmente gratuito; Le licenze di SQL Server sono dotate di un pesante prezzo (a meno che tu non possa usare la versione Express), ma preparati a pagare una volta raggiunto il limite di dimensioni)
  • scriptability. MySQL è costruito con una mentalità da riga di comando ed è molto scriptable; SQL Server, proveniente da Microsoft, vuole che tu usi la GUI completa per quasi tutto, compresa la pianificazione dei backup, la migrazione, la manutenzione, ecc.
  • Blocco della piattaforma. MySQL funziona praticamente su tutto; SQL Server richiede Windows.

Vantaggi percepiti che in realtà non valgono:

  • Prestazioni. Sì, MyISAM è più veloce di SQL Server, ma è anche pericoloso e non corretto. MyISAM non supporta le transazioni e non può applicare vincoli di chiave esterna (a causa del suo approccio one-file-per-table). Di conseguenza, è facile che un bug nel codice (o semplicemente un'interruzione della rete) corrompa il database. La maggior parte delle applicazioni basate su MySQL con cui ho lavorato includono il codice che 'corregge' il database a intervalli regolari, cercando di ripulire il disordine lasciato dalle query canaglia e altri problemi. Inoltre, non appena viene coinvolta la concorrenza, il comportamento di blocco della tabella completa di MyISAM può facilmente devastare tutte le prestazioni che potresti aver vinto.

Detto questo, ci sono altre alternative - postgresql, che offre molti dei vantaggi di SQL Server, senza il cartellino del prezzo e il blocco del fornitore, è il mio preferito.

    
risposta data 20.07.2011 - 11:41
fonte
2

Uno dei maggiori vantaggi dell'utilizzo di SQL Server con Visual Studio è che è totalmente integrato con l'IDE .

Un altro vantaggio è che è la scelta più comune nella community e, pertanto, avrai maggiori informazioni e assistenza in caso di problemi.

    
risposta data 20.07.2011 - 10:57
fonte
0

Puoi usare LINQ con MS ma non con MYSQL

Language-Integrated Query (LINQ) is a set of features introduced in Visual Studio 2008 that extends powerful query capabilities to the language syntax of C# and Visual Basic. LINQ introduces standard, easily-learned patterns for querying and updating data, and the technology can be extended to support potentially any kind of data store. Visual Studio includes LINQ provider assemblies that enable the use of LINQ with .NET Framework collections, SQL Server databases, ADO.NET Datasets, and XML documents...

    
risposta data 20.07.2011 - 10:48
fonte

Leggi altre domande sui tag