salut,
j'utilise PostgreSQL 11
J'ai environ 5 millions de lignes dans la base de données (dans le table étudiant et département et dans d'autres tables)
*
* le temps pour exécuter cette requête est de 4 secondes
mais le temps sans cette ligne: order by Student.dateMovement desc est 430 ms
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select Student.name,Student.dateMovement,departmentName FROM Student as Student LEFT OUTER JOIN department department on department.id=Student.department_id LEFT OUTER JOIN college college on college.id= department.college_id order by Student.dateMovement desc LIMIT 10 OFFSET 0
* J'essaie sans succès d'ajouter un index
J'essaye aussi avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE INDEX pk_Student_date ON Student (id, dateMovement DESC);
mais aussi prendre 4 secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 with CTE as ( select Student.name,Student.dateMovement,departmentName FROM Student as Student LEFT OUTER JOIN department department on department.id=Student.department_id LEFT OUTER JOIN college college on college.id= department.college_id ) select * from CTE order by Student.dateMovement desc limit 50 offset 0;






Répondre avec citation
Partager