Verwendung von Gespeicherten Prozeduren in Rails

Als ich sagte in einem früheren post, unsere Rails app hat eine Schnittstelle mit einem E-A-V-Art der Tabelle in eine Drittanbieter-Anwendung, ziehen wir Daten aus. Ich hatte erstellt eine View, um die Daten normal, aber es wird viel zu lange zu laufen. Wir hatten einer unserer offshore-PHP-Entwickler erstellen Sie eine gespeicherte Prozedur, um zu helfen, beschleunigen.

Nun laufen wir in das Problem, das wir benötigen, rufen Sie diese gespeicherte Prozedur aus der Rails-app, sowie das bereitstellen, suchen und filtern. Die Ansicht konnte dies tun, weil Schienen war, behandeln Sie es wie eine herkömmliche Schienen-Modell. Wie könnte ich das mit der stored proc? Würden wir schreiben müssen, benutzerdefinierte Suche und die Bestellung (wir waren mit Searchlogic)? Management unfähig ist, das Verständnis der Nachteile der Verwendung einer stored proc Schienen; alles, was Sie sagen, ist, dass die aktuelle Methode zu lange dauert, die Daten zu laden und repariert werden muss, aber auf der Suche und Filterung sind wichtige Funktionen.

BEARBEITEN ich geschrieben der code für diese Abfrage hier: Optimierung eine seltsame MySQL-Abfrage. Was komisch ist, ist, dass wenn ich diese Abfrage in ein GUI (Navicat) läuft es in etwa 5 Sekunden, aber auf der web-Seite dauert es über eine minute um zu starten; Blick kompliziert aus Gründen, die ich beschreiben in dem original-post, aber ich würde denken, dass MySQL optimiert und caches Ansichten wie SQL-Server (oder vielmehr, wie ich gelesen habe, dass SQL Server ist) um die Leistung zu verbessern.

  • Mithilfe der gespeicherten Prozedur mit Schienen klingt böse... Kann Sie nicht finden, eine weitere Möglichkeit zur Verbesserung der Ladezeit?
  • Vereinbaren Sie mit marcgg... könnten Sie info, so könnten wir darüber nachdenken, andere Wege, um die Leistung zu verbessern?
  • Ich Stimme zu, dass diese Besondere situation klingt böse, aber das ist eine gute Frage, in, dass, Sie haben nicht immer die Kontrolle über die Datenbank.
  • Sollten Sie Karwin Vorschlag von die andere Frage und Trigger zu erstellen, der ein den tatsächlichen relationalen Modell.
  • Das einzige problem mit diesem ist, werden die Daten aktualisiert, vielleicht sogar Hunderte von mal am Tag, da die Kunden die Eingabe von Informationen alle von der Zeit, und dass Daten geht in die EAV-Tabelle.
  • Die Hunderte von updates pro Tag ist kein problem. Das ist, was Trigger sind. Die trigger werden der Tabelle Hinzugefügt.

InformationsquelleAutor Wayne Molina | 2009-12-23
Schreibe einen Kommentar