2015-04-22 5 views
0

J'utilise le package simple_salesforce dans python pour extraire des données de SalesForce.Augmenter la taille du lot dans SOQL

J'ai une table qui a environ 2,8 millions d'enregistrements et j'utilise query_more pour extraire toutes les données.

SOQL extrait 1000 lignes à la fois. Comment puis-je augmenter le batchsize en python pour extraire le nombre maximum de lignes à la fois. [J'espère que le nombre maximum de lignes est 2000 à la fois]?

Merci

+0

Salesforce peut, à sa discrétion, ajuster la taille du lot en fonction des champs que vous sélectionnez. Comme un test rapide. Essayez de sélectionner uniquement l'ID des enregistrements et de voir si la taille du lot augmente jusqu'à 2000. Si ce n'est pas le cas, vous ne pourrez pas l'ajuster. Si ce n'est pas le cas, vous devrez trouver comment simple_salesforce expose le paramètre. –

Répondre

0

Si vous voulez vraiment extraire tout, vous pouvez utiliser la fonction query_all.

query_all appelle la fonction d'assistance get_all_results qui appelle récursive query_more jusqu'à ce que query_more retourne "fait". Le résultat renvoyé est le dictionnaire complet de tous vos résultats.

Le plus, vous obtenez toutes vos données dans un seul dictionnaire. Le frotte, vous obtenez tous les 2,8 millions de dossiers à la fois. Ils peuvent prendre un certain temps à se retirer et, selon la taille de l'enregistrement, cela peut être une quantité significative de RAM.