Questions marquées «query-performance»

Pour toute question sur l'amélioration des performances et / ou de l'efficacité des requêtes de base de données.

4
Est-il préférable de séparer une grande requête en plusieurs requêtes plus petites?
Il y a des situations qui nécessitent d'avoir une très grosse requête joignant plusieurs tables avec des instructions de sous-sélection pour produire les résultats souhaités. Ma question est la suivante: devrions-nous envisager d'utiliser plusieurs requêtes plus petites et intégrer les opérations logiques dans la couche application en interrogeant la base …

1
Boucle Nest indésirable vs jointure Hash dans PostgreSQL 9.6
J'ai un problème avec la planification des requêtes de PostgreSQL 9.6. Ma requête ressemble à ceci: SET role plain_user; SELECT properties.* FROM properties JOIN entries_properties ON properties.id = entries_properties.property_id JOIN structures ON structures.id = entries_properties.entry_id WHERE structures."STRUKTURBERICHT" != '' AND properties."COMPOSITION" LIKE 'Mo%' AND ( properties."NAME" LIKE '%VASP-ase-preopt%' OR properties."CALCULATOR_ID" …


2
Comment rendre DISTINCT ON plus rapide dans PostgreSQL?
J'ai une table station_logsdans une base de données PostgreSQL 9.6: Column | Type | ---------------+-----------------------------+ id | bigint | bigserial station_id | integer | not null submitted_at | timestamp without time zone | level_sensor | double precision | Indexes: "station_logs_pkey" PRIMARY KEY, btree (id) "uniq_sid_sat" UNIQUE CONSTRAINT, btree (station_id, submitted_at) …

1
Ordre lent par SQL Server
Dans mon application, j'ai une requête qui effectue une recherche dans le tableau "fichiers". La table "fichiers" est partitionnée par "f". "Créée" (voir la définition de la table et contient ~ 26 millions de lignes pour le client 19 ("f". "Cid = 19). Le point ici est, si je fais …

3
Émuler la fonction scalaire définie par l'utilisateur d'une manière qui n'empêche pas le parallélisme
J'essaie de voir s'il existe un moyen de tromper SQL Server pour utiliser un certain plan pour la requête. 1. Environnement Imaginez que vous ayez des données qui sont partagées entre différents processus. Supposons donc que nous ayons des résultats d'expérience qui prennent beaucoup de place. Ensuite, pour chaque processus, …

3
Requête JOIN très lente
Structure DB simple (pour un forum en ligne): CREATE TABLE users ( id integer NOT NULL PRIMARY KEY, username text ); CREATE INDEX ON users (username); CREATE TABLE posts ( id integer NOT NULL PRIMARY KEY, thread_id integer NOT NULL REFERENCES threads (id), user_id integer NOT NULL REFERENCES users (id), …

2
Puis-je refactoriser cette requête pour qu'elle s'exécute en parallèle?
J'ai une requête qui prend environ 3 heures pour s'exécuter sur notre serveur - et elle ne tire pas parti du traitement parallèle. (environ 1,15 million d'enregistrements en dbo.Deidentified, 300 enregistrements en dbo.NamesMultiWord). Le serveur a accès à 8 cœurs. UPDATE dbo.Deidentified WITH (TABLOCK) SET IndexedXml = dbo.ReplaceMultiWord(IndexedXml), DE461 = …


1
les performances de postgres_fdw sont lentes
La requête suivante sur un étranger prend environ 5 secondes pour s'exécuter sur 3,2 millions de lignes: SELECT x."IncidentTypeCode", COUNT(x."IncidentTypeCode") FROM "IntterraNearRealTimeUnitReflexes300sForeign" x WHERE x."IncidentDateTime" >= '05/01/2016' GROUP BY x."IncidentTypeCode" ORDER BY 1; Lorsque j'exécute la même requête sur une table normale, elle revient en 0,6 seconde. Les plans d'exécution …


2
Un moyen efficace de comparer deux grands ensembles de données en SQL
Actuellement, je compare deux ensembles de données, qui contiennent des StoreKey/ProductKeycombinaisons uniques . Le premier ensemble de données contient les StoreKey/ProductKeycombinaisons uniques de ventes entre début janvier 2012 et fin mai 2014 (résultat = 450 000 lignes). Le deuxième ensemble de données a les StoreKey/ProductKeycombinaisons uniques , pour des ventes …


3
Pourquoi une requête agrégée est-elle beaucoup plus rapide avec une clause GROUP BY que sans une?
Je suis simplement curieux de savoir pourquoi une requête agrégée s'exécute tellement plus rapidement avec une GROUP BYclause que sans. Par exemple, l'exécution de cette requête prend près de 10 secondes SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 Alors que celui-ci prend moins d'une seconde SELECT MIN(CreatedDate) FROM MyTable …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.