2009-10-03 7 views
0

supposons que j'ai une table qui stocke 100 millions d'enregistrements de chaînes de tailles variables jusqu'à 20 caractères dans un champ de colonne. J'ai besoin d'indexer cette colonne, j'ai seulement une machine 2Go-Ram, est-ce suffisant pour effectuer une telle tâche? Est-ce que le moteur db mysql est recommandé pour le stockage?l'index de base de données et l'utilisation de la mémoire

+0

Avez-vous une contrainte de temps? –

+0

Voulez-vous dire suffisant pour construire l'index en premier lieu, ou pour utiliser l'index pour faire des requêtes? – leonm

+0

@Remus: la contrainte de temps est lâche, pas plus de 24 heures @leonm: Je veux dire les deux – user157195

Répondre

1

Si vous avez 2 Go de mémoire principale, alors oui, vous devriez pouvoir créer l'index sans aucun problème; La mémoire virtuelle est une chose merveilleuse, et le SGBD peut très bien faire en sorte de déverser des données sur le disque au fur et à mesure.

Si vous avez seulement 2 Go d'espace disque, vous n'avez pas assez d'espace pour les données et l'index.


À la surprise de personne ne, il est 2 Go de mémoire principale, et non 2 Go de disque (ce commentaire a été principalement en plaisantant - mais ces jours-ci, si quelqu'un dit 256 Go, on ne sait pas si elles font référence à l'espace disque ou à la mémoire principale, ce pourrait être soit).

Oui, si le SGBD ne peut pas créer l'index dans cette contrainte, il n'est pas digne d'être appelé SGBD.

MySQL peut probablement faire le travail. Ce n'est pas ce que je recommanderais, mais je suis très motivé dans ce domaine parce que je suis l'un des développeurs d'un SGBD alternatif (commercial). Nous n'avons pas assez d'informations sur votre budget, etc. pour pouvoir vous conseiller de manière fiable.

+0

Si vous avez 2 Go d'espace disque, vous devriez probablement perdre la boîte X-) –

+0

2 Go de mémoire principale user157195

3

Les bases de données sont généralement conçues d'une manière qui leur permet de travailler avec plus de données que vous avez de RAM disponible. Le fait de lui donner plus de mémoire de travail accélérera les choses, mais il devrait être capable de construire l'index et d'y effectuer des recherches.

Questions connexes