Friday 10 March 2017

Moving Average Query Sql

Ich arbeite mit SQL Server 2008 R2 und versuche, einen gleitenden Durchschnitt zu berechnen. Für jeden Datensatz meiner Ansicht nach möchte ich die Werte der 250 vorherigen Aufzeichnungen sammeln und dann den Durchschnitt für diese Auswahl berechnen. Meine Ansichtspalten sind wie folgt: TransactionID ist eindeutig. Für jede TransactionID. Ich möchte den Durchschnitt für Spaltenwert berechnen, über vorherige 250 Datensätze. Also für TransactionID 300, sammle alle Werte aus vorherigen 250 Zeilen (Ansicht wird absteigend von TransactionID sortiert) und dann in Spalte MovAvg das Ergebnis des Mittelwertes dieser Werte schreiben. Ich bin auf der Suche nach Daten in einer Reihe von Datensätzen zu sammeln. Fragte am 28.10 um 20: 58Dies ist eine immergrüne Joe Celko Frage. Ich ignoriere die DBMS-Plattform. Aber auf jeden Fall konnte Joe vor mehr als 10 Jahren mit Standard-SQL antworten. Joe Celko SQL Puzzles and Answers Zitat: Dieser letzte Update-Versuch schlägt vor, dass wir das Prädikat verwenden könnten, um eine Abfrage zu konstruieren, die uns einen gleitenden Durchschnitt geben würde: Ist die zusätzliche Spalte oder die Abfrage besser angegangen Die Abfrage ist technisch besser, weil der UPDATE-Ansatz wird Denormalisieren der Datenbank. Allerdings, wenn die historischen Daten aufgezeichnet werden nicht zu ändern und die Berechnung der gleitenden Durchschnitt ist teuer, können Sie die Verwendung der Spalte Ansatz. SQL Puzzle Abfrage: mit allen Mitteln einheitlich. Sie werfen einfach auf die passende Gewicht Eimer abhängig von der Entfernung von der aktuellen Zeitpunkt. Zum Beispiel quottake weight1 für datapoints innerhalb von 24hrs aus aktueller datapoint weight0.5 für datapoints innerhalb von 48hrsquot. In diesem Fall ist es wichtig, wie viel aufeinanderfolgende Datenpunkte (wie 6:12 Uhr und 11:48 Uhr) von einander entfernt sind. Ein Anwendungsfall, den ich mir vorstellen kann, wäre ein Versuch, das Histogramm zu glätten, wo Datapunkte nicht dicht genug sind, ndash msciwoj Mai 27 15 at 22:22 Ich bin mir nicht sicher, dass Ihr erwartetes Ergebnis (Output) klassisch einfaches (rollendes) Durchschnitt für 3 Tage zeigt. Denn zum Beispiel gibt das erste Dreifach von Zahlen per Definition: aber du erwartest 4.360 und seine Verwirrung. Trotzdem schlage ich die folgende Lösung vor, die die Fensterfunktion AVG verwendet. Dieser Ansatz ist viel effizienter (klar und weniger ressourcenintensiv) als SELF-JOIN in anderen Antworten eingeführt (und Im überrascht, dass niemand eine bessere Lösung gegeben hat). Sie sehen, dass AVG mit Fall verpackt wird, wenn rownum gt p. days dann, um NULLs in den ersten Reihen zu zwingen, wo 3 Tagesbewegungsmitte bedeutungslos ist. Antwortete am 23. Februar 16 um 13:12 Wir können Joe Celkos schmutzige linke äußere Verknüpfungsmethode anwenden (wie oben von Diego Scaravaggi zitiert), um die Frage zu beantworten, wie es gefragt wurde. Generiert die angeforderte Ausgabe: beantwortet Jan 9 16 bei 0:33 Ihre Antwort 2017 Stack Exchange, IncSQL Server T-SQL Code, um einen Moving Average zu berechnen Durch: Dallas Snider Lesen Sie Kommentare Verwandte Tipps: Mehr Funktionen - Benutzerdefinierte UDF Wie kann ich glätten Daten in einer Spalte mit einem gleitenden Durchschnitt in T-SQL Können Sie bitte durch ein Beispiel in SQL Server mit T-SQL-Code gehen Wie können wir die Ergebnisse validieren Zeitreihen-Daten können inhärent laut und ein guter Weg, um die Daten zu glätten Ist es, einen gleitenden Durchschnitt zu berechnen. Es gibt eine Reihe von Möglichkeiten, um einen gleitenden Durchschnitt in T-SQL zu berechnen, aber in diesem Tipp werden wir einen Weg suchen, um einen gleitenden Durchschnitt zu berechnen, der das Mittelungsfenster x Anzahl der Zeilen hinter und x Anzahl der Zeilen vor dem aktuellen setzt Datenzeile Der Vorteil davon ist, dass es keine Verzögerung in der durchschnittlichen Wert zurückgegeben und der gleitende Mittelwert ist auf der gleichen Zeile mit seinem aktuellen Wert. Beginnen wir mit dem Erstellen einer Tabelle und laden einige Daten mit dem T-SQL unten. Wir haben 361 Datenpunkte, die eine laute Sinuswelle erzeugen. Nach dem Laden der Daten führen wir den folgenden T-SQL-Code aus, um alle Spalten zusammen mit dem gleitenden Mittelwert auszuwählen. Im folgenden Code ist die gleitende durchschnittliche Fenstergröße 15 (7 Zeilen vor der aktuellen Zeile, plus die aktuelle Zeile plus die 7 folgenden Zeilen). Der gleitende Durchschnitt der DataValue-Spalte wird als MovingAverageWindowSize15-Spalte zurückgegeben. Die ORDER BY-Klausel ist äußerst wichtig, um die Daten in der ordnungsgemäß sortierten Reihenfolge zu halten. Wir können die Ergebnisse in Excel kopieren und einfügen, um die Berechnung zu bestätigen. Im Bild unten beginnt das Fenster in Zelle C3 und endet bei C17. Der gleitende Durchschnitt, der durch das T-SQL in diesem Tipp berechnet wird, erscheint in der Zelle D10. Der von Excel berechnete Durchschnitt liegt am unteren Ende und entspricht dem Wert in D10. In der folgenden Abbildung sehen wir die ursprünglichen Datenwerte, die in blau aufgezeichnet sind, wobei der gleitende Durchschnitt rot markiert ist. Nächste Schritte Passen Sie die Größe des gleitenden Durchschnittsfensters an, um zu sehen, wie sich das Diagramm ändert. Seien Sie sicher, diese anderen Tipps auf T-SQL aus mssqltips auszuprobieren: Letztes Update: 382016Calculieren von Werten in einem Rolling Window in Transact SQL Dwain Camps Berechnen von Werten in einem Rolling-Fenster in SQL Jedes Mal, dass Sie Werte über mehrere Zeilen kombinieren müssen In SQL kann das Problem schwierig sein, vor allem, wenn es um Leistung geht. Wir konzentrieren uns auf das rollende Zwölfmonats-Summenproblem, aber unsere Methoden können auf jedes beliebige Zeitfenster (z. B. 3 Monate) oder auf Durchschnittswerte und andere Aggregationen über diese Zeitfenster angewendet werden. Eine rollende Summe für einen Monat ist die Summe für diesen Monat plus die vorherigen Monate innerhalb des Zeitfensters oder NULL, wenn Sie don8217t die Werte für alle vorhergehenden Monate innerhalb des Zeitfensters haben. In früheren Versionen von SQL Server mussten Sie durch ein paar Reifen springen, um eine Methode zu finden, die gut funktioniert, aber SQL 2012 bietet einige neue Features, die es einfacher machen. In beiden Fällen gibt es mehrere gültige Lösungen. Welches ist am schnellsten und effizientesten Wir versuchen, diese Frage in diesem Artikel zu beantworten. Wir werden in SQL 2012 arbeiten. Wenn Sie möchten, um zu folgen, können Sie die Sample Queries. sql Ressource you8217ll finden beigefügt. Daten-Setup und Statement des Business-Problems Oftmals finden Sie sich mit vielen Transaktionen innerhalb eines Monats, aber in unserem Fall we8217ll davon ausgehen, Sie8217ve bereits gruppiert Ihre Transaktionen für jeden Monat. Wir ordnen unseren PRIMARY KEY einem DATE-Datentyp zu und beinhalten einige Werte, über die wir die rollenden zwölfmonatigen Summen ansammeln wollen. Dies führt auch zu einem leichten Abfrageplan, so dass wir uns interessieren wollen, um zu sehen, wie sich seine Leistungsergebnisse mit anderen bisher vorgeschlagenen Lösungen vergleichen lassen. So viel für traditionelle Lösungen, und meine Entschuldigungen, wenn ich zufällig zu einem Ihrer Favoriten übersehen, aber fühlen Sie sich frei, es zu kodieren und fügen Sie es auf die Leistung Test Kabelbaum we8217ll präsentieren später zu sehen, wie es fährt. Lösung 5: Verwenden eines schrulligen Updates Wenn Sie noch nie von der schrulligen Aktualisierung (QU) gehört und wie es auf Probleme wie laufende Summen angewendet werden kann, empfehle ich Ihnen dringend, einen gelesenen Artikel von SQL MVP Jeff Moden zu lesen. Berechtigt, die laufenden Gesamt - und Ordinal-Rang-Probleme zu lösen. Bevor wir fortfahren, sollten wir beachten, dass es diejenigen gibt, die darauf bestehen, dass die QU-Methode ein undokumentiertes Verhalten von SQL Server darstellt und daher nicht vertrauenswürdig ist. Wir können sagen, dass die Syntax durch den MS Books On Line-Eintrag für die UPDATE-Anweisung für SQL-Versionen 2005, 2008 und 2012 klar beschrieben wird. Tatsächlich geht es weiter zurück. Ich habe es erfolgreich in SQL Server 2000 verwendet, aber es wurde von Sybase geerbt und war in der ersten SQL Server-Version, die je veröffentlicht wurde. Zu den naysayers I8217ll sagen, dass das 8220undocumented8221 Verhalten ist mindestens konsistent über alle Versionen und es gibt vermutlich wenig Grund zu vermuten, dass es veraltet werden oder ändern in zukünftigen Versionen von MS SQL. Betrachten Sie sich gewarnt Wenn Sie jemals erwägen, eine QU zu verwenden, um jedes Problem zu lösen, müssen Sie sorgfältig beachten Sie die vielen Regeln, die gelten (auch in den referenzierten Artikel von Jeff enthalten). Die wichtigsten, die I8217ve in dieser Abfrage behandelt haben, können zusammengefasst werden als: Die Tabelle muss einen gruppierten Index haben, der die Reihenfolge der Quellzeilen nach der Periode angibt, wie Sie es wandern möchten. Die Tabelle muss eine Spalte haben, in die Sie die aggregierte laufende Summe platzieren können. Wenn Sie das Update durchführen, müssen Sie die Tabelle mit dem TABLOCKX-Abfrage-Hinweis sperren, um sicherzustellen, dass niemand sonst irgendwelche INSERT s, DELETE s oder UPDATE s vor you8217re durch bekommt. Sie müssen verhindern, dass SQL versucht, die Abfrage mit dem Befehl OPTION (MAXDOP 1) zu parametrieren. Da ein rollender zwölfmonatiger Durchschnitt einfach eine laufende Summe in Verkleidung ist, können wir eine Spalte zu unserer Tabelle hinzufügen und eine QU-Abfrage anwenden, um unsere Berechnung zu tun. Ich muss gestehen, dass das ein bisschen chaotisch aussieht, mit all den Variablen, die du brauchst. Im Grunde, was wir tun, ist, die letzten zwölf (nacheilenden) Werte zu verfolgen, um das 12. zu entfernen (wo die Rolling12Months Spalte zugeordnet ist) von was sonst ein QU läuft, wie es in Jeff8217s Artikel beschrieben ist. Wir haben große Hoffnungen auf seine Geschwindigkeit, da es bekannt ist, die schnellste Methode zur Lösung der laufenden Summen Problem zu sein. Wieder einmal sollten Sie sich davon überzeugen, dass die Ergebnisse mit vorherigen Lösungen übereinstimmen, und ja diese Lösung verhält sich immer noch in SQL 2012. Wenn Sie mich bei mir so weit machen, können Sie sich auch fragen, was passiert, wenn ich mehrfache Laufzeit berechnen muss Zwölf monatige Summen über verschiedene Partitionen8221 Dies ist relativ einfach für alle anderen Lösungen präsentiert, aber schlägt ein bisschen eine Herausforderung mit der QU. Die Antwort darauf finden Sie in der angehängten Ressourcendatei: Quirky Update Partitioned. sql. SQL 2012 Lösungen Bisher wird alles, was wir getan haben, in SQL 2008 funktionieren. Das einzige, was wir in SQL 2005 nicht unterstützt haben, ist die Initialisierung der Variablen, die wir im QU-Ansatz dECLARE haben. Jetzt let8217s sehen, welche neuen Features SQL 2012 hat, die auf dieses Problem angewendet werden kann. Lösung 6: Verwendung eines Fensterrahmens Unsere erste SQL 2012 Lösung (6) zeigt, wie man einen Fensterrahmen benutzt, der 11 Zeilen vor der aktuellen Zeile startet, bis die aktuelle Zeile, um unsere gewünschten Ergebnisse zu erzielen. Wieder einmal sind die zurückgegebenen Ergebnisse die gleichen, aber die Abfrage-Plan ist ganz anders als für die vorherige SQL-2012-Lösung aber wir sind nicht besonders optimistisch, dass dieser Ansatz eine vernünftig durchführbare Alternative aufgrund der Anzahl der 8220look-backs8221 benötigt wird, um es funktionieren zu lassen . Performance Vergleich der Methoden Der echte Test, um zu sehen, wie sich mehrere Lösungen ausführen, ist die Überprüfung der tatsächlichen Ausführungszeiten in einem Ruheserver mit einem Testkabelbaum mit vielen Zeilen. Unser Testkabelbaum wird gezeigt, zusammen mit dem, wie Solution 1 und 2 modifiziert wurden (siehe Kommentare im Code): Legen Sie die Ergebnisse in eine temporäre Tabelle ein, um die verstrichene Zeit zu vermeiden, die die Zeilen auf die Ergebnisse von SQL Server Management Studio8217 zurückführt Gitter. Entfernen Sie die DATE-Arithmetik, denn bei der Erzeugung von Multi-Millionen-Zeilen-Testkabeln ist es schwierig, so viele einzigartige Monate zu erzeugen, so dass die Datentabelle-Spalte überarbeitet wurde, um ein BIGINT-Datentyp zu sein. Für die verbleibenden Lösungen (2 8211 6) haben wir die CPU und die verstrichene Zeit von 1M aber 4M Zeilen gezeichnet. Interpretation der Ergebnisse verstrichen und CPU-Zeiten scheinen über die verschiedenen Methoden in Bezug auf ihre Bestellung konsistent zu sein. Alle scheinen linear zu skalieren. Das schrullige Update, vorausgesetzt, Sie können es verstehen und alle seine zugehörigen Regeln, scheint die schnellste verfügbare Lösung zur Lösung dieses Problems zu sein, auch unter Berücksichtigung der neuen Funktionen, die in SQL 2012 verfügbar sind. In SQL 2012 ist der Fensterrahmen Ansatz sicherlich ordentlich, Kompakt und elegant, aber leicht hinterlässt die quirky Update Lösung über die Reihen, die wir getestet haben. Diese Testergebnisse scheinen mit einem früheren Test auf Laufen Totals in SQL 8220Denali8221 CTP3 von Microsoft Certified Master Wayne Sheffield in seinem Blog entsprechen. Wenn du mit einer früheren Version von SQL (2005 oder 2008) steckst, und aus irgendeinem Grund kannst du ein schrulliges Update verwenden (zB wenn du dieses undokumentierte Verhalten nicht vertraust), sind die schnellsten Lösungen, die dir zur Verfügung stehen, entweder das CROSS APPLY TOP oder Mit einer korrelierten Sub-Abfrage, da beide von ihnen in einer engen Bindung über die Tafel zu sein schienen. Es scheint, dass das 8220traditionelle8221 INNER JOIN etwas zu vermeiden ist. Es wird wohl nur noch schlimmer werden, wenn du in der JOIN8217s ON-Klausel Datum Arithmetik machen musst. Ebenso war mit einer Tally-Tabelle oder mehreren LAGs (SQL 2012) sicherlich nicht der Weg zu gehen. Wir haben CURSOR-basierte Lösungen nicht erforscht, aber Sie können den Artikel, der auf laufende Summen referenziert wird, zurückverfolgen, um eine Vorstellung davon zu bekommen, wie sie in diesem Fall auftreten könnten. I8217ve auch einige Lösungen gesehen, die eine rekursive Common Table Expression (rCTE) verwenden, aber ich würde sicherlich auf ihre Leistung im Vergleich zu den QU - oder Fensterrahmenlösungen wetten. Es gibt viele Möglichkeiten, um Werte in einem Rolling-Fenster in SQL zu berechnen und es gibt einige klare Performance-Gewinner unter ihnen. Wir hoffen, dass Sie diesen Leitfaden zu den verfügbaren Methoden interessant und informativ gefunden haben. Abonnieren Sie weitere Artikel Fortnightly Newsletter helfen, schärfen Sie Ihre Fähigkeiten und halten Sie voran, mit Artikeln, ebooks und Meinung, um Sie informiert zu halten. Wünschen Sie mehr Abonnieren Sie unseren vierzehntägigen Newsletter Gesamt: 33 Durchschnitt: 4.65 Dwain Camps ist seit vielen Jahren ein Projektleiter. Weil die Leistung von Anwendungen ein kritischer Erfolgsfaktor für Projekte sein kann, hat er auf die Notwendigkeit, hochleistungsfähige SQL zu entwickeln, evangelisiert. Durch Mentoring und Authoring Artikel auf SQL, hofft er, eine zukünftige Generation von Software-Ingenieure auf der rechten und falschen Möglichkeiten, um SQL-Code zu liefern zu trainieren. Er hat auch ein besonderes Interesse daran, Lösungen für komplexe, datenintensive Probleme mit Hochleistungs-SQL zu entwickeln, da die deklarative Natur von SQL die Entwicklung von algorithmisch einzigartigen Lösungen erlaubt, die prozedurale Sprachen nicht in der Lage sind. Folge Dwain auf Twitter Sehr gut Großer Artikel Ich war überrascht, dass LAG () so schlecht gemacht hat. Ich nehme an, jeder Aufruf wird separat durchgeführt, anstatt ausgefallen und wie ein Fenster optimiert. Große Erklärung Ich bin einverstanden, das ist eine großartige Erklärung der verschiedenen Möglichkeiten, um Werte innerhalb eines rollenden Fensters zu berechnen. Wenn Sie diese Beispiele auf SQL 2012 testen, müssen Sie MyTable mit RollingTotalsExample ändern. Vielen Dank, Mr. Camps Tally-Methode Hallo Dwain, ich habe festgestellt, dass Ihre Tally-Tabellen-Abfrage einen Table-Spool-Operator verursacht und dachte, Sie könnten erwägen, den Tally-Teil einer Datentabelle wie folgt zu machen: SELECT GroupingDate, ValueMAX (CASE GroupingDate WHEN Date DANN aValue END), Rolling12MonthsCASE WHEN ROWNUMBER () OVER (ORDER BY GroupingDate) lt 12 DANN NULL ELSE SUM (Wert) END INTO ResultsSoln2 FROM RollingTotalsErstellen Sie eine CROSS APPLY (mdash Entfernen Sie die DATE arithmetischen Werte (Datum), (Date1), (Datum4), (Datum4), (Datum 4), (Datum 6), (Datum 7), (Datum 8), (Datum9), (Datum 10), (Datum11)) c (GroupingDate) GROUP BY GroupingDate HAVING GroupingDate lt MAX (Datum) ORDER BY GroupingDate (Entschuldigung, wenn Formatierung ist schlecht ndash keine Vorschau) Diese Änderung würde immer noch nicht machen, dass es ein Kandidat, aber macht eine massive Verbesserung, dass queryhellip Danke für die Kommentare Danke Joe und Nic. Irsquom froh, dass du den Artikel interessant gefunden hast. Joe: Auch ich war von den LAG-Ergebnissen etwas überrascht und es macht mich fragen, was der Break-even-Punkt wäre. Vielleicht vielleicht 3 Monate nicht so schlimm, aber es ist immer noch schwer zu glauben, dass es schneller sein könnte als die QU. Tally Tables MM: Aus irgendeinem Grund habe ich eine persönliche Vorliebe für Inline-Tally-Tische, aber deine Ergebnisse sind interessant, wenn man nur für andere Fälle in Betracht zieht. Assistance mit Moving Annual Total Meine erste Post. Ich muss die Moving Annual Total für den Wert oben für die vorangegangenen 12 Monate berechnen, mit diesem Monat Monat 12. Ich muss dann die Moving Annual Total für die 12 Monate davor erhalten. Mit der Idee, MAT für diesen Monat mit dem entsprechenden Monat im vergangenen Jahr und für jeden vorangegangenen Monat zu vergleichen. Mein Versuch gab mir das: Mit cte as (SELECT rNum ROWNUMBER () Over (Reihenfolge nach Datum) Datum Wert Rolling12MonthsCASE WHEN ROWNUMBER () OVER (ORDER BY Datum) gt 11 DANN SUM (Wert) OVER (ORDER BY Datum ROWS ZWISCHEN 11 Wählen Sie aus cte, (Wählen Sie mRNum max (rNum) von cte) deMax Wo rNum zwischen mRNum ndash 23 und mRNum Mit der Fähigkeit, die Were-Anweisung zu ändern, um zu reflektieren, ob ich dieses Jahr oder das wollen. Deutsch: www. tab. fzk. de/de/projekt/zusammenf...ng/ab117.htm vorheriges Jahr. Meine wirklichen Daten haben das Datum wie in Integer 201409, was ich denke, das Leben wird mir leichter machen, da ich 100 abziehen kann, um das Vorjahr zu bekommen. Ausgezeichneter Artikel und jede Hilfe wäre willkommen. Dies ist meine Arbeitslösung (mit etwas Lärm) mdash Rolling 12 Monate Summen mit SQL 2012 und einem Fensterrahmen IF OBJECTID (lsquotempdb..PreviousYearrsquo) IST NICHT NULL DROP TABLE PreviousYear Mit cte as (SELECT rNum ROWNUMBER () Over (order by Date (Datum) ROWS ZWISCHEN 11 VORHERGEHENDEN UND AKTUELLEN REIHEN END VON RollingTotalsExample) Wählen Sie pyRowNum ROWNUMBER () Over (order by mRNum.). WERDEN ROWNUMBER () OVER (ORDER DURCH Datum) ). . SStart mRNum ndash 24. EEnd mRNum ndash 12 in Vorheriges Jahr Von cte, (Wählen Sie mRNum max (rNum) von cte) deMax Wo rNum zwischen mRNum ndash 23 und mRNum ndash 12 mdash Rolling 12 Monate Summen mit SQL 2012 und einem Fensterrahmen IF OBJECTID (lsquotempdb..ThisYearrsquo) IST NICHT NULL TROPFEN TABELLE DiesesJahr mit cte as (SELECT rNum ROWNUMBER () Over (Reihenfolge nach Datum) Datum Wert Rolling12MonthsCASE WHEN ROWNUMBER () OVER (ORDER BY Datum) gt 11 DANN SUM (Wert) OVER (ORDER BY Datum ROWS ZWISCHEN 11 VORHERIGEN UND AKTUELLEN REIHEN) END VON RollingTotalsExample) Wählen Sie tyRowNum ROWNUMBER () Over (order by mRNum). . SStart mRNum ndash 11. EEnd mRNum in ThisYear Von cte, (Select mRNum max (rNum) von cte) deMax Wo rNum zwischen mRNum ndash 11 und mRNum Select from ThisYear ty Left Join Vorheriges Jahr py on ty. tyRowNum py. pyRowNum Diese können Irsquom nicht in der Nähe eines comp mit Sql Zugang jetzt, so dass ich canrsquot testen Sie es (es kann einige typossyntax Fehler). SELECT T. DateKey, AVG (T. ValueField) OVER (ODER BY T. DateKey ASC ZWISCHEN 365 PRECEDING UND UND CURRENT ROW) AS YMAValueField VON DataTable AS T ORDER BY T. DateKey ASC Im Falle AVG ist eine der Aggregat-Funktionen nicht unterstützt Mit BETWEEN Bereich (ich weiß, SUM wird unterstützt). SELECT T. DateKey, SUM (T. ValueField) OVER (ODER BY T. DateKey ASC ZWISCHEN 365 PRÄZIEREN UND UND AKTUELLE REIHEN) CASE WHEN DATEDIFF (TAG, StartDate, T. DateKey) lt 365 DANN DATEDIFF (DAY, StartDate, T. DateKey) ELSE 365 END AS YMAValueField VON DataTable AS T ORDER BY T. DateKey ASC Abonnieren Sie weitere Artikel Fortnightly Newsletter helfen, schärfen Sie Ihre Fähigkeiten und halten Sie voran mit Artikeln, ebooks und Meinung, um Sie informiert zu halten. Wünschen Sie mehr Abonnieren Sie unseren vierzehntägigen Newsletter Besuchen Sie unsere Bibliothek von Artikeln, um die Muster und Praktiken zu entdecken, die Sie benötigen, um auf agilere Methoden der Datenbanklieferung zuzugreifen. Finden Sie heraus, wie Sie den Prozess des Bauens, Testens und der Bereitstellung Ihrer Datenbankänderungen automatisieren, um das Risiko zu reduzieren und den Lieferzyklus zu beschleunigen. Top bewertete aktuelle Artikel in T-SQL Programmierung Verwandte Artikel Auch in SQL Mit dem Aufstieg von NoSQL-Datenbanken, die Aspekte von SQL für die Abfrage ausnutzen und umfassende Transaktionalität umfassen, besteht die Gefahr, dass die Daten-Dokument-Modelle hierarchische Natur eine grundlegende Konflikt mit relationaler Theorie Wir haben unseren relationalen Experten gefragt, Hugh Bin-Haad, um einen schwierigen Bereich für Datenbank-Theoretiker zu erforschen. hellip Lesen Sie mehr Auch in SQL Server Jeder SQL Server-Datenbank-Programmierer muss mit den Systemfunktionen vertraut sein. Diese reichen von der sublimen (wie rowcount oder identity) zum lächerlichen (IsNumeric ()) Robert Sheldon bietet einen Überblick über die am häufigsten verwendeten them. hellip Lesen Sie mehr Auch in T-SQL-Programmierung Um voll nutzen zu können Der Systemkatalog, um mehr über eine Datenbank zu erfahren, müssen Sie mit den Metadatenfunktionen vertraut sein. Sie sparen viel Zeit und schreiben bei der Abfrage der Metadaten. Sobald Sie den Hang dieser Funktionen bekommen, scheint der Systemkatalog plötzlich einfach zu bedienen, wie Robert Sheldon in diesem Artikel demonstriert. hellip Lesen Sie mehr Auch in T-SQL Programmierung Eine Reihe von Argumenten mit Entwicklern, die darauf bestehen, dass Fuzzy-Suche oder Rechtschreibprüfung In der Anwendung stattfinden, dann eine relationale Datenbank inspiriert Phil Factor zu zeigen, wie es gemacht wird. Wenn die Datenbank relevante Inhalte aus den von den Benutzern eingegebenen Suchbegriffen finden muss, muss die Datenbank lernen, zu erwarten und zu behandeln, sowohl erwartete als auch unerwartete Hellip Lesen Sie mehr Kopie 2005 - 2017 Red Gate Software Ltd Was halten Sie von dem neuen Simple Talk Give Uns Ihr Feedback


No comments:

Post a Comment