Bonjour bonjour!

Après des années de développement autodidacte je me décide enfin à m'inscrire sur un forum sérieux pour qu'on puisse m'assister un peu.

Bon en réalité j'ai deux souci, l'un technique et l'autre SQL, mais c'est dans l'immédiat le souci SQL qui m'intéresse.

Je développe depuis deux ans un MMO par navigateur, et il faut dire que l'optimisation n'a pas été mon fort (ça a été mon bac a sable et le code change tout le temps ^^). Aujourd'hui il compte environ 35000 lignes de codes et une petite base de données (115 tables pour 480.000 enregistrements). Ça c'est pour le décor.

J'aurais besoin d'aide pour un petit update. Voici la structure des tables concernées (les champs utiles uniquement)

Tables

Personnage
id
arme

Inventaire
id
id_perso
id_objet

Objets
id
nom

Jointures

personnage.arme = inventaire.id
inventaire.id_objet = objets.id
personnage.id = inventaire.id_perso (pense pas qu'elle serve celle la)

Voila ce que je voudrais faire: mettre arme à 0 pour un certain id de la tables objets.

Voila ce que j'ai tenté pour le moment:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
UPDATE personnage
SET arme = 0
FROM inventaire 
LEFT JOIN personnage ON personnage.arme = inventaire.id 
INNER JOIN objets ON objets.id = inventaire.id_objet
WHERE objets.id = 551
Une idée pour un novice du SQL?

Concernant mon deuxième souci, c'est l'occupation processeur de mon processus "mysqld" sur mon debian, 180% environ pour 35 utilisateurs en simultané... C'est normal? (Serveur: Core2Duo, 3Go de ram, 100mbit/s, 500Go de disque)

Merci d'avance!

EDIT: Je précise que je suis en mySQL 5, et que je suis peut être pas au bon endroit, feel free to move me.