Lors de l'exécution d'une requête SQLite, la taille de l'ensemble de données renvoyé affecte-t-elle la durée de la requête? Supposons pour cette question que je n'accède à aucune des données dans le résultat, je veux juste savoir si la requête elle-même prend plus de temps. Supposons également que je sélectionne simplement toutes les lignes et que je n'ai pas de clause WHERE ou ORDER BY. Par exemple, si j'ai deux tables A et B, disons que la table A a un million de lignes et la table B a 10 lignes et que les deux tables ont le même nombre et les mêmes types de colonnes. La sélection de toutes les lignes du tableau A prendra-t-elle plus de temps que la sélection de toutes les lignes du tableau B? Ceci est une suite à ma question How does a cursor refer to deleted rows?. Je suppose que si une requête SQLite effectue une copie des données, les requêtes renvoyant des ensembles de données volumineux peuvent prendre plus de temps, sauf si une optimisation copie uniquement les données de résultat de la requête s'il y a une modification des données dans la base de données. alors que la requête est toujours en vie?Les requêtes SQLite renvoyant de grands ensembles de résultats prennent-elles plus de temps?
1
A
Répondre
0
En fonction de certains détails, oui, une requête peut prendre différentes durées.
Exemple: J'ai une table avec quelques 20k entrées. Je fais une recherche GLOB qui doit essayer chaque ligne, avec une limite. Si la limite est remplie, la requête peut s'arrêter tôt. Sinon, il doit passer par toute la table (ou JOIN). Ainsi, les recherches avec trop de résultats reviennent plus rapidement que les recherches avec seulement quelques résultats.
Si la requête doit exécuter la même quantité de données, je ne pense pas qu'il existe une différence significative entre une quantité plus petite et plus grande de lignes sélectionnées. Il y aura probablement des coûts d'IO, bien sûr.
Questions connexes
- 1. NHibernate - Diffusion de grands ensembles de résultats?
- 2. Mise à l'échelle des requêtes d'API limitées dans le temps pour de grands ensembles de requêtes
- 3. Requête renvoyant plusieurs ensembles de résultats
- 4. Pourquoi les ensembles de résultats sont-ils si grands?
- 5. scala traitant de grands ensembles de résultats (mongodb)
- 6. MySQLdb est extrêmement lent avec de grands ensembles de résultats
- 7. Mysql Problèmes de performances de l'opérateur NOT IN pour les grands ensembles de résultats?
- 8. Algorithme de tri pour les grands ensembles de données
- 9. Stockage de grands ensembles de données de niveau session?
- 10. Django - comment exclure les résultats des ensembles de requêtes existants dans les requêtes de modèle suivantes?
- 11. Qu'est-ce qu'un bon moyen de stocker de grands ensembles de données temps/valeur?
- 12. SQLite: création de plusieurs tables ou filtrage d'une base de données pour les grands ensembles de données
- 13. grands cadres de sous-ensembles de données
- 14. Comparaison des sous-requêtes ne renvoyant pas les résultats
- 15. Générateur de rapports - requêtes renvoyant des résultats incorrects
- 16. Doctrine avec de grands ensembles de données
- 17. PostgreSQL - Pourquoi certaines requêtes sur de grands ensembles de données sont-elles si incroyablement lentes?
- 18. Optaplanner - grands ensembles de données avec des millions de lignes
- 19. Android ListView pour les grands ensembles de données
- 20. Traitement rapide de grands ensembles de données dans les graphiques
- 21. Application d'une fonction à des sous-ensembles de plus en plus grands d'une trame de données
- 22. Pagination sur de grands ensembles de données? - Abandonner count (*) après un certain temps
- 23. Chargement de grands ensembles dans EF et enregistrer les modifications
- 24. Outil de rapprochement [comparaison de deux grands ensembles de données]
- 25. PHP Efficace Formulaire de sélection pour les grands ensembles d'options
- 26. Gestion de grands ensembles de données avec PHP/Drupal
- 27. Data Import/Export de grands ensembles de données avec .net
- 28. Gestion de grands ensembles de données (objet) avec PHP
- 29. Référencement de plusieurs feuilles avec de grands ensembles de données
- 30. SQL pour les grands ensembles de données à l'échelle
J'ai clarifié ma question, je suis intéressé uniquement dans les situations où je sélectionne toutes les lignes d'une seule table, pas de clauses WHERE, ORDER BY, LIMIT ou JOIN. – satur9nine
Ok. Je dirais que la réponse est la même. L'exécution de plusieurs lignes dans le tableau A prendra plus de temps. Un index peut faire disparaître cette étape. Si vous sélectionnez tout, je m'attendrais à ce que les lignes sortent aussi vite que IO (plus overhead) permet. Plus de données au même rythme prendront plus de temps. – XTL