Il existe des millions de comptes utilisateur et je souhaite distribuer leurs données dans N tables (utilisateur_1, utilisateur_2, ..., utilisateur_N) d'une base de données. Les comptes d'utilisateur sont composés de 3 ~ 8 caractères. Donc, je veux une fonction qui renvoie le suffixe de table commeRépartition des comptes utilisateur sur N tables
int getTableSuffix(String userAccount);
Le résultat est une distribution uniforme de 1 à N.
Connaissez-vous un algorithme de hachage pas cher pour ce travail?
Vous utilisez le partitionnement de base de données intégré (de SQL Server, Oracle, et probablement la plupart des autres), j'espère? –
Pourquoi voulez-vous les distribuer dans des tables séparées? –
@lassevk: Je m'inquiète qu'une grande table puisse souffrir du verrouillage de table dans des situations en utilisant MyISAM de MySQL. – grayger