Bonjour,
J'ai une table de CATEGORIE (id_categ, titre...) qui contient par exemple "Art, Science, ...",
une table d'ARTICLES (id_article,_id_categ,titre, texte,...) avec environ 3000 enregistrements et ça grimpe vite.
une table CLIENT (id_client, nom...)
et une table des ABONNEMENT (id_categ, id_client).
Donc le client s'inscrit à des catégories d'articles.
Ma difficulté est que je veux être en mesure de lui afficher les articles publiés qu'il n'a pas lu, et pour les catégories auxquelles il s'est inscrit. Comment ?
Créer une table ARTICLES_LUS (id_article, id_client, etat) avec par exemple l'état 0 pour 'non lu' et 1 pour 'lu' n'est pas gérable :
- il faudrait pour chaque nouvel article, insérer id_article + l'id de chaque client et avec l'état non lu.
- j'ai tenté le coup en mettant uniquement "lu" dans la table ARTICLES_LU. Du coup, avec une jointure pour déterminer les non lus, avec 2 clients, 2000 articles, et 2000 lignes dans la table ARTICLES_LUS, une requete de jointure prend 5 secondes et j'ai une erreur SQL avec MAX_JOIN_SIZE.
Donc je bloque.
Il devrait quand même y avoir plus simple...
Merci de votre aide.
Partager