2010-10-03 7 views
12

Est-il mauvais d'avoir trop de tables dans une base de données? J'ai environ 160 tables dans une base de données. Est-il préférable de le diviser en plusieurs bases de données plutôt que d'utiliser une seule base de données? Une base de données unique est plus pratique pour moi.Max tables dans une base de données MySQL

Répondre

12

Il ya are no server limits sur le nombre de tables dans une base de données MySQL. Vous n'aurez certainement aucun problème avec 160 tables, et vous n'avez pas besoin de les diviser en plusieurs bases de données. Vous ne gagnerez pas en performance en divisant vos tables en plusieurs bases de données. Si les performances restent un problème, vous pouvez envisager using per-table tablespaces afin de placer certains ensembles de tables sur différents disques physiques.

+3

Pour ce que ça vaut, je gère actuellement une installation Wordpress Multisite avec environ 7 000 sites. Cela équivaut à 63 000 tables. Il y a des défis uniques à gérer un grand réseau comme celui-ci, mais c'est certainement très possible. – rinogo

4

160 tables ne sont pas radicalement énormes. 16000 pourrait être ... probablement plus ... plus déraisonnable - ces bases de données existent dans les systèmes ERP ou CRM (même dans la plage des tables 40-50K, mais beaucoup de ces tables ne sont pas réellement utilisées, ou sont seulement à peine utilisé). Malgré cela, le SGBD typique «gérera» de telles bases de données volumineuses, mais le catalogue système est plus sollicité que d'habitude dans de tels systèmes.

2

J'ai environ 7000 tables dans une base de données sans effets secondaires, autre que l'affichage de la liste des tables dans phpMyAdmin.

+2

Juste curieux de savoir ce que vous faites avec 7000 tables? – HddnTHA

6

selon MySQL reference manual:

MySQL n'a pas de limite sur le nombre de tables. Le système de fichiers sous-jacent peut avoir une limite sur le nombre de fichiers représentant des tables. Les moteurs de stockage individuels peuvent imposer des contraintes spécifiques au moteur. InnoDB permet jusqu'à 4 milliards de tables.

Questions connexes