Je dois créer un rapport qui est compilé automatiquement tous les mois. Le rapport doit juste être le nombre unique de numéros de téléphone à travers 2 applications (applications Rails, appelez-les app A et B). Chaque application a une base de données PostgreSQL et les numéros de téléphone sont des colonnes dans une table. Obtenir le nombre de numéros de téléphone uniques dans chaque application est facile, c'est juste une requête 'SELECT COUNT (DISTINCT phone_number) ...'. Cependant, je ne peux pas trouver un moyen simple/efficace de le faire à travers les deux applications (En outre, l'application A a 500k enregistrements dans la table et l'application B a 8k). Il semble que je vais devoir sortir tous les numéros de téléphone des deux tables, les assembler et lancer des doublons. Le problème c'est qu'il y a trop de dossiers à traiter en mémoire.Conseil sur un rapport
Quelqu'un a des conseils sur la meilleure façon de faire cela? Voici quelques informations supplémentaires:
- Les deux applications sont sur le même serveur
- Le serveur de base de données est également sur ce serveur
- Les applications sont sur différentes bases de données
- Génération/emailing le rapport sera un Cron emploi
- Je préfère faire la plupart de la programmation en ruby, de préférence dans l'une des applications
Les tables se trouvent dans différentes bases de données. J'aurais aimé que ce soit si simple :( – Austin
J'ai regretté cela, désolé, mais pour la combinaison et uniq !, ça marcherait encore, n'est-ce pas? – xlash
Oui, ça marcherait, mais ce n'est pas mon problème. Rubyist, donc la façon de lancer des doublons dans un tableau n'est pas la réponse que je recherche, j'ai besoin de conseils sur la meilleure façon d'obtenir automatiquement le nombre unique de nombres. , le vider dans un fichier, et avoir un autre script faire ce que vous faites ci-dessus.Le problème est avec 500k enregistrements c'est trop (trop lent) – Austin