MYSQL Tables Temporaires - Comment faire pour afficher les actifs
Nous avons un simple "crm" comme de logiciel dans notre société. Il y a quelques requêtes complexes qui ont été prendre un certain temps, l'utilisation quotidienne des requêtes... donc je suis en train de tester quelques modifications pour utiliser des Tables Temporaires pour remplacer tout l'ensemble de jointures et sous-requêtes dont nous avons besoin.
Jusqu'à présent va vraiment bien, j'ai un 90%+ vitesse.
Depuis sa une application web (codeigniter + mysql), j'ai l'intention de le mettre dans une production "test" de l'environnement, de sorte que 50% des utilisateurs peut m'aider à le tester. Je tiens à surveiller les tables actif et, si possible, pour chaque connexion.
Ma question est, Est il possible que je peux voir toutes les TABLES TEMPORAIRES qui sont actives dans l'instance mysql? Peut-être que la vue de ses données?
J'ai lu quelque chose à propos d'un PLUGIN ou quelque chose du genre, mais l'article a beaucoup de désordre et je coudnt comprendre.
Merci beaucoup et désolé pour mon anglais pas ma langue maternelle lang.
OriginalL'auteur ddutra | 2011-08-17
Vous devez vous connecter pour publier un commentaire.
table temp = temporaire, il supprimé immédiatement après la requête
il n'y a pas de solution directe, à l'exception de la journalisation de toutes les requêtes et d'exécuter un par un, à l'examen de requêtes qui nécessitent tmp_table
le système des variables comme
Created_tmp_tables
pourrait donner quelques idéesOriginalL'auteur ajreal
L'un des problèmes de tables temporaires est en fait le suivi de l'utilisation, puis il y a la surcharge de la création, de l'indexation et de la suppression, en particulier avec une application web où la durée de vie de la table temporaire est généralement aussi longue que la durée de vie de la requête HTTP.
Où la pré-compilation des résultats (c'est à dire les vues matérialisées) profitent, j'ai créé une table ordinaire, l'ajout de champ(s) de référence à la connexion MySQL et l'id de la session web, l'id de la requête source + temps générée en fonction de la durée de vie pour les données et si elle sera partagée ou non.
Plus détaillé de suivi de l'utilisation de la table, il rend beaucoup plus facile l'adresse de la requête de réglage et, bien sûr, le schéma est mieux documentée.
OriginalL'auteur symcbean
Lors de votre ensemble de données grandit, les tables temporaires ne vous aide pas. En fin de compte, comment font-ils de l'aide? Les données doivent être copiées dans ces tables après avoir calculer le résultat, pourquoi ne pas mettre en cache les résultats avec memcached?
Aussi, j'ai vu des bases de données qui sont un peu grandes (plusieurs dizaines de gigaoctets) et sont en cours d'exécution hors d'une seule machine et requêtes ont été rapidement opérationnel. Il y a une question de savoir si vous avez configuré votre serveur de base de données correctement (logiciel et matériel). Vous souffrez peut-être temporaire speedup, mais il n'y a aucune garantie qu'il va fonctionner en permanence. J'avais optimiser l'application, les requêtes, les logiciels et le matériel nécessaires à l'exécution de l'application et puis je cache les résultats avec memcache, sauf si vous avez besoin de la dernière hotcopy le résultat de la requête.
votre désaccord ne fait pas mention ou référence à un fait. Cela signifie tout simplement que c'est votre opinion personnelle. Vous pouvez être en désaccord, mais cela ne signifie pas que vous êtes correct.
OriginalL'auteur N.B.
Je crois que ça n'a pas de sens en vue de tables temporaires en raison de qu'ils vivent lors de la connexion et de mourir après la fermeture des connexions. Mais il est un fait important à propos de la table temporaire. Donc, si vous utiliser une connexion permanente dans vos scripts, la table temporaire en direct au cours de la vie de cette connexion et les clients qui utilisent cette obtiendrez de l'accès aux mêmes tables temporaires. Dans ce cas également, la table temporaire va consommer des ressources système. Pour éviter cela, vous devez supprimer les tables temporaires manuellement après avoir exécuter la requête nécessaire de requête qui est utilisé, cette table temp.
OriginalL'auteur Andrej Ludinovskov