Je développe un système qui comptera environ 2 000 utilisateurs et qui communiquera avec un système de discussion en direct interne.
Maintenant, je me demande s’il est judicieux de stocker les messages en tant que type de publication personnalisé. Ou est-il préférable d'utiliser une table personnalisée pour eux?
Autant que je sache, le principal problème que vous pourriez avoir à résoudre est de stocker une quantité assez importante de messages de discussion.
Donc, pour éviter de créer WP les fonctionnalités de base qui interrogent post et postmeta à partir d'un grand nombre de lignes générées par votre fonctionnalité unique, il me semble évident que vous feriez mieux de créer un tableau personnalisé.
Je pense que cela vous offrirait également la possibilité d'optimiser la structure de votre table pour votre utilisation spécifique, ce qui permettrait d'accélérer les requêtes.
À l'heure actuelle , WP requêtes postmeta sont généralement très lentes lorsqu'elles doivent traiter un grand nombre de lignes. Regardez le problème que WooCommerce a en réalité lorsqu'il traite plus de 100 000 produits stockés en tant que post et postmeta. Ils sont en train de résoudre ce problème en migrant tous les produits à l'intérieur de tables personnalisées ...
Je ne ferais certainement pas cela ... À mon avis, la solution consiste à combiner JavaScript/JSON et le stockage de données MySQL classique. Il me semble que le stockage de chaque message direct directement dans une base de données utiliserait beaucoup trop de ressources et deviendrait probablement très lent lorsque vous en avez un grand nombre. N'oubliez pas non plus que le fait de stocker tous les messages dans une seule table est un problème de sécurité. Ils doivent être associés à des utilisateurs.