Ich habe eine Website, die ich baue, es ist eine Anwendung, die Seriendrucke (mehr oder weniger...) auf der Grundlage einer Reihe von Benutzereinstellungen erstellt. Es kann problemlos kartesische Verknüpfungen im Wert von Daten erzeugen, aber die Anforderungen von Unternehmen machen das Leben ein bisschen schwieriger...
Ich muss die Anwendung so aufbauen, dass sie nach der Überprüfung der Postleitzahlen entfernter Mitarbeiter E-Mails an Medienziele erstellt, je nachdem, wie weit das Medienziel von diesem Mitarbeiter entfernt ist. Nehmen wir an, die Mitarbeiter sind dort, wo sie arbeiten, als Freiwillige bekannt. Das Unternehmen möchte den Medien in einem Radius von 5 Meilen um diese Mitarbeiter eine Nachricht über die Arbeit des Mitarbeiters schicken. Hier wird es unübersichtlich... Ich habe hier mehrere Möglichkeiten, deren Versuche und Misserfolge ich erläutern werde:
-
Der größte Radius beträgt 20 Meilen. Ich erstelle eine Datenbanktabelle, die Datensätze zu jeder Postleitzahl in den USA enthält, die mit jeder Postleitzahl im Umkreis von 20 Meilen verbunden sind. Der Datensatz sieht in etwa so aus (die Namen sind unterschiedlich, dies nur der Argumentation halber):
[SourceZip] | [City] | [State] | [CloseZip] | [City] | [State] | [Distance]
Scheitert: Zum Beispiel hat NY 350k Datensätze aus dem obigen Datensatz (und andere Staaten sind noch schlimmer!). Durchschnittliche Ladezeit auf dieser Seite? 6 Minuten... Das passiert nicht. Ich habe dies überprüft, indem ich Haltepunkte gesetzt habe. Es ist während der dataadapter.fill()-Phase, in der die Verbindung unterbrochen wird. -
(Diese wurde aufgrund eines logistischen Problems nie implementiert) Ich stelle eine Datenbankverbindung für jede Mitarbeiter-Zip zu Medienziel-Zips mit einer Entfernung von x oder weniger her. Allerdings können die Quelldateien und die Medienziele zusammen bis zu 34k individualisierte E-Mails umfassen. 34k DB-Verbindungen? selbst wenn ich einen Weg zur Wiederverwendung von Postleitzahlensuchen entwickeln könnte, habe ich einige Testüberprüfungen in der DB durchgeführt und festgestellt, dass es 500 verschiedene Postleitzahlen in NY gibt, in denen Mitarbeiter gearbeitet haben. 500 DB-Verbindungen? Ich bezweifle, dass das funktionieren würde, aber ich könnte überrascht sein.
-
Mein neuester Plan, um das Problem zu umgehen, besteht darin, zu hoffen, dass der Webserver ein besseres Spiel als das .net-Dataset-Objekt ausführt, indem er ein neues Dataset erhält, wie es aussieht:
[Postleitzahl] | [Längengrad] | [Breitengrad]
Dann wird eine Abstandsformel erstellt, um herauszufinden, ob die Daten funktionieren. Dies hängt stark von den Prozessoren des Webservers ab. Ist dies ein lohnendes Unterfangen, oder werde ich auch bei diesem Versuch die gleichen Ladezeitschäden feststellen?Gibt es einen besseren Weg?
Ich bin für jeden Beitrag dankbar, auch wenn er meine Befürchtungen bestätigt, dass dieses Projekt funktioniert vielleicht nicht .
Zusätzliche Hinweise : Ich habe keine Kontrolle über den Server, und ich verwende SQL2k :(. Ich programmiere die Seite in Visual Studio 2005, Framework 2.0. Möglicherweise werde ich in den nächsten Monaten auf SQL2005 und VS2008 aufgerüstet.