|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Thierry Inscription : septembre 2011 Messages : 26 ![]() |
Bonjour,
Je suis très loin d'être un expert en BdD (tout juste débutant), je suis sur du dev .NET. Hors lorsque je dois supprimer un enregistrement référencé par d'autres tables, elles même référencées dans d'autres tables, ... etc donc grosso modo 10 à 100 enregistrement à effacer cela prend presque 3 secondes !!! On m'a donc conseillé de faire travailler la BdD plutôt que mon code en mettant des triggers BEFORE DELETE. Ça ne marche pas. Voila pourquoi je sollicite votre aide: Comment puis je être sur que le trigger est déclenché? Et comme plusieurs sont en chaine, comment savoir sur lequel çà bloque? Pour être peut être plus clair, voici le code d'un trigger, ils sont tous quasi identiques: Code :
Merci de votre aide. |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Pourquoi ne pas utiliser les contraintes de clés étrangères avec des tables utilisant le moteur InnoDB plutôt que de réinventer ce que le SGBD est capable de faire tout seul et très vite ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Thierry Inscription : septembre 2011 Messages : 26 ![]() |
Alors, je ne sais pas ce que tu veux dire par "utiliser des contraintes de clés étrangère" désolés.
Mais surtout je ne veux pas recréer la BdD Mais merci du conseil, je garde ça dans un coin de ma tête , "InnoBD" si un jour la BdD doit être refaite |
|
|
00
|
|
|
#4 |
![]() ![]() |
Pour tout savoir sur les clés étrangères, c'est chez SQLPro !
Voir aussi le chapitre 7.3, et particulièrement le 7.3.2 du même article. Ta BDD est-elle si monstrueuse que tu ne puisses pas ALTER TABLE toutes tes tables pour les passer en InnoDB et y ajouter les contraintes de clés étrangères ? Si tu n'utilises pas d'index FULL TEXT, tu peux le faire sans problème.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Arnaud Inscription : décembre 2004 Messages : 167 ![]() |
Et si tu as réellement besoin du FULL TEXT, passe en InnoDB, et utilise SphinxSearch !
(J'aime bien le dire ![]() )
__________________
NginX, SphinxSearch Addict !! |
|
|
00
|
|
|
#6 |
![]() ![]() |
Je ne connaissais pas. C'est vraiment aussi performant que le site l'annonce ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Arnaud Inscription : décembre 2004 Messages : 167 ![]() |
Mieux que ça !
![]() Mais ici personne n'en parle... Alors c'est sûr, je gère pas forcément les exceptions sur les classes php, j'suis pas forcément un adepte du PDO::patin-coufin, mais une chose, je suis toujours à la recherche du max de perf avec le moins de ressources... Je suis un admin système, et mon site n'est qu'un passe temps... tu pars d'un SGBD, quelconque, tu interfaces ton appli avec l'api adéquat (java, php, ruby, python y'a même en perl), tu extrais les infos de ta base qui sont à indexer, et tu commences. Il a son propre moteur interne, tu peux l'indexer en real-time (dans mon cas le différé suffit : titres de films, noms de personnalités du ciné,...) mais ce qui est intéressant, c'est aussi la possibilité de requêter sur des base (sphinxsearch) que tu créeras et qui n'ont rien à voir avec ton SGBD originel... Franchement, ?... Classe ! Essaye mon site (je veux pas faire de pub, c'est pédagogique !), tu vas dans le moteur de recherche, tu tapes delon et belmondo, tu coches 'ensemble' et tu cherches. Mon défi : fais la même chose en sql traditionnel, sachant que tu peux chercher 2,3,4 ou plus, acteurs, mais aussi ajouter un nom de réalisateur Exemple : verneuil delon gabin ventura (toujours ensemble), résultat : tu arrives directement sur la fiche concernée par tous ces monstres du cinéma, en 0,005 secondes... Voilà ! Et si je peux aider, ce sera toujours avec le plus grand plaisir
__________________
NginX, SphinxSearch Addict !! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com