par
Snoops » 17 avr. 2007, 19:36
Pas de problème, on avance
Est-ce que tu pourrais me montrer la requête qui renvoit le classement complet ainsi que la valeur de référence (celle du milieu de la "section" de classement) et la colonne à laquelle elle correspond ?
Je suis une nouille sous SQL Server, mais la solution est soit une procédure avec un curseur soit deux SELECT avec une UNION. Ou encore une table dérivée, mais je ne peux pas prédire les perfs. Il parait que l'optimiseur de SQL Server est puissant, mais c'est un cas assez spécial, je ne suis pas certain qu'il l'optimise parfaitement. Dès que je comprends exactement ce que tu veux faire je te donnerai quelques pistes à explorer
Je ne mets pas toute la table le reste ne te servirais a rien, mais voici la structure :
Code : Tout sélectionner
CREATE TABLE Employe
(
id_employe VARCHAR(40) NOT NULL,
nom_employe VARCHAR(30) NOT NULL,
prenom_employe VARCHAR(30) NOT NULL,
...
PRIMARY KEY (id_employe),
...
);
Quant à la requete elle est pour le moment basique (j'affiche tout) :
Code : Tout sélectionner
SELECT id_employe, nom_employe, prenom_employe FROM Employe ORDER BY id_employe;
Mais je voudrais y rajouter un identifiant qui m'est passé en _SESSION par PHP :
$requete = "SELECT id_employe, nom_employe, prenom_employe FROM Employe WHERE id_employe >&< '".$_SESSION['id']."' ORDER BY id_employe;";
Je ne sais pas si ca répond exactement a tes questions ...
Et moi pour ce qui est optimisation SQL ... Et sincèrement ca ne sera pas super super lourd (j'espere pas), une 100 de lignes au maximum ... dont une selection de 20 personnes a afficher en meme temps ... donc je pense pas que ca soit tres lourd !
[quote="Hubert Roksor"]Pas de problème, on avance ;)
Est-ce que tu pourrais me montrer la requête qui renvoit le classement complet ainsi que la valeur de référence (celle du milieu de la "section" de classement) et la colonne à laquelle elle correspond ?
Je suis une nouille sous SQL Server, mais la solution est soit une procédure avec un curseur soit deux SELECT avec une UNION. Ou encore une table dérivée, mais je ne peux pas prédire les perfs. Il parait que l'optimiseur de SQL Server est puissant, mais c'est un cas assez spécial, je ne suis pas certain qu'il l'optimise parfaitement. Dès que je comprends exactement ce que tu veux faire je te donnerai quelques pistes à explorer[/quote]
Je ne mets pas toute la table le reste ne te servirais a rien, mais voici la structure :
[code]CREATE TABLE Employe
(
id_employe VARCHAR(40) NOT NULL,
nom_employe VARCHAR(30) NOT NULL,
prenom_employe VARCHAR(30) NOT NULL,
...
PRIMARY KEY (id_employe),
...
);[/code]
Quant à la requete elle est pour le moment basique (j'affiche tout) :
[code]
SELECT id_employe, nom_employe, prenom_employe FROM Employe ORDER BY id_employe;
[/code]
Mais je voudrais y rajouter un identifiant qui m'est passé en _SESSION par PHP :
[php]
$requete = "SELECT id_employe, nom_employe, prenom_employe FROM Employe WHERE id_employe >&< '".$_SESSION['id']."' ORDER BY id_employe;";[/php]
Je ne sais pas si ca répond exactement a tes questions ...
Et moi pour ce qui est optimisation SQL ... Et sincèrement ca ne sera pas super super lourd (j'espere pas), une 100 de lignes au maximum ... dont une selection de 20 personnes a afficher en meme temps ... donc je pense pas que ca soit tres lourd !