Mysql
 sql >> Base de données >  >> RDS >> Mysql

compression du texte d'url (pas de raccourcissement) et stockage dans mysql

Une autre idée à essayer pourrait être d'identifier les chaînes communes et de les représenter avec un bitmap. Par exemple, ayez deux bits pour représenter le protocole (http, https, ftp ou autre), un autre bit pour indiquer si le domaine commence par "wwww", deux bits pour indiquer si le domaine se termine par ".com", ". org", ".edu" ou autre chose. Vous devrez effectuer une analyse de vos données et voir si elles ont un sens, et s'il existe d'autres chaînes communes que vous pouvez identifier.

Si vous avez beaucoup d'URL vers le même site, vous pouvez également envisager de diviser votre table en deux tables différentes, l'une contenant le domaine et l'autre contenant le chemin relatif au domaine (et la chaîne de requête et l'identifiant du fragment, le cas échéant). Vous auriez une table de liens contenant l'identifiant de l'URL, l'identifiant du domaine et l'identifiant du chemin, et vous remplaceriez votre table d'URL d'origine par une vue qui joignait les trois tables. La table de domaine n'aurait pas besoin d'être limitée au domaine, vous pourriez inclure autant d'URL qu'il était courant (par exemple, 'http://stackoverflow.com/questions'). Cela ne prendrait pas trop de code à implémenter et a l'avantage d'être toujours lisible. Votre encodage numérique pourrait être plus efficace, une fois que vous l'aurez compris, vous devrez analyser vos données pour voir laquelle a le plus de sens.