2013-05-27 5 views
1

Je cherche des informations sur les instructions préparées (ps) livecycle. J'utilise BasePoolableObjectFactory fourni par apache pour créer un pool de connexions. Ensuite, en utilisant TSocket et TTransport, je crée un objet à partir de la classe Cassadra.Client. Cet objet a des méthodes pour exécuter des requêtes cql3. De plus, l'objet a une méthode pour préparer et exécuter une requête cql3, c'est-à-dire que nous pouvons faire des instructions préparées en utilisant l'épargne.Cassandra Préparé Déclaration en CQL3 en utilisant l'épargne

Où sont stockées les instructions préparées? Dans le serveur de base de données ou existe-t-il tant que l'objet existe?

Si elles sont stockées dans un serveur de base de données, comment puis-je les obtenir sans les créer à nouveau? Si elles sont stockées dans un objet, que prépare-t-on alors, quand chaque requête est soumise au serveur?

Je demande, parce que je veux savoir quand cela vaut la peine de faire des déclarations préparées. Parce que si je fais une instruction préparée, l'exécute une fois et ferme la connexion, alors il n'est pas nécessaire de faire des instructions préparées du tout.

+0

En fait, j'ai trouvé quelques réponses. Les instructions préparées sont stockées dans le serveur. Quand nous faisons PS, cassandra renvoie un identifiant. En utilisant cet identifiant, nous pouvons y accéder plus tard. OMI, nous serons en mesure d'accéder au PS via cet ID de n'importe où ailleurs. Mais comment pouvons-nous supprimer cette déclaration de Cassdra? Le redémarrage du serveur Cassandra est-il le seul moyen? –

Répondre

1

Les instructions préparées sont mises en cache par connexion. (Vous y accédez avec l'ID que le serveur vous renvoie à la suite de l'appel de préparation.)

Donc non, il est inutile de les utiliser pour des requêtes ponctuelles. Ceci est courant dans toute conception d'états préparée.

+0

J'ai vérifié la vitesse d'exécution et ... les instructions préparées sont plus rapides lorsque les requêtes dépassent 100 par connexion. Donc, en temps normal, ils sont juste plus lents. –

Questions connexes