J'ai un script shell qui lit ligne par ligne l'identifiant de l'utilisateur à partir d'un fichier et insère des enregistrements dans la base de données. Cependant le processus d'insertion est lent et je veux optimiser en prenant des lots. Je ne peux pas utiliser un fichier entier en un seul lot car la taille de la transaction dépasse les limites de propriété. Voici le script:Traitement par lots ksh
for user in `cat $userlist`
do
echo "processing user $user"
{
echo "begin"
i=1
while [[ $i -le 30 ]] ; do
echo "insert into usertab values ($user,-1,\"\",-1)"
i=$(expr $i + 1)
done
echo "commit"
} | propSql userDb -
done
Commencer et valider sont les mots clés standard pour ce db. Ici, au lieu de traiter un utilisateur à la fois, je veux traiter 10 utilisateurs à la fois. Quelqu'un peut-il suggérer le changement nécessaire?