2009-09-24 6 views
0

J'ai une table en dB MySQL qui enregistre quand une personne clique sur certains onglets de navigation. À chaque fois, il supprime en douceur la dernière entrée et en insère une nouvelle. La raison de la suppression logicielle est à des fins d'analyse, de sorte que je peux suivre au fil du temps où/quand/ce que les utilisateurs cliquent. Le rapport entre les suppressions logicielles et les nouvelles entrées est de 9: 1, et la taille de la table est d'environ 20K en ce moment, mais elle augmente rapidement. Donc, ma question est la suivante: si la suppression des entrées de suppression logicielle permet d'optimiser les requêtes impliquant cette table? Il y en a un pour le moment qui réunit 4 tables et n'a besoin que des nouvelles entrées. Étant donné que les analyses sur les suppressions logicielles peuvent être effectuées sur des copies de sauvegarde, je n'ai pas besoin de ces lignes sur le dB de production.Y a-t-il un avantage à supprimer une ligne supprimée en MySQL?

+0

Mettez les données dont vous n'avez pas besoin dans l'autre table, comme "clicks_history". –

Répondre

0

Il y a très probablement une implication de performance pour que 90% de votre table soit exclue de toutes les requêtes mais les analyses: vos index sont probablement plus gros que si ces lignes étaient dans leur propre table, le disque la tête doit chercher sur de plus grandes distances ainsi vos accès au disque sont plus chers qu'ils ne le seraient dans la table 1/10 la taille etc.

Questions connexes