Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 3] EntityType et 5'000 entrées

Bonnes pratiques

    28 juillet 2017 à 5:59:41


    Bonjour à tous,

    Je suis actuellement dans le développement d'un projet qui requiert un choix de numéros postaux. Pour l'instant, basé sur le fichier fourni par la Poste, j'ai hydraté ma base de données avec une entité Npa. Ce qui représente un total de 5235 entrées ...

    Le problème est que le EntityType que j'utilise dans mes formulaires gère mal ce nombre d'entrées, alors que la requête MySql ne mets que 10 ms a s'effectuer, le rendu du champ prends environ 1100 ms soit plus d'une seconde. Ce n'est vraiment pas optimal.

    Quelles sont vos solutions mise en place pour ce genre de problèmes ?

    Merci beaucoup pour votre aide

    Fabian

    • Partager sur Facebook
    • Partager sur Twitter
      28 juillet 2017 à 7:30:58

      Bonjour,

      SI tu as fait une liste déroulante c'est pas anormal non plus car il faut rapatrier les 5235 numéros de la partie serveur vers le poste navigateur (même si tu es en local et ce qui pourrait s'aggraver d'ailleurs en prod suivant les débits de bande passante) + ensuite les afficher.

      Sur le plan vue utilisateur cela ne doit pas être très sympa s'il doit scroller verticalement pour trouver le numéro.

      Quand on a des volumes de ce style voire beaucoup plus important, c'est souvent un problème de conception de l'expérience utilisateur. On peut supposer que l'utilisateur ne trouve pas le bon numéro juste en regardant la liste : il doit avoir des critères, une ou des infos supplémentaires. Il est donc peut-être possible de filtrer avant la liste des 5235 pour revenir à une sous-liste plus digeste. Il y a aussi la technique de pagination mais là encore c'est une vue utilisateur à évaluer : car si l'utilisateur doit faire défiler 30 pages avant d'arriver à la bonne info ...

      A+

      • Partager sur Facebook
      • Partager sur Twitter

      [Symfony 3] EntityType et 5'000 entrées

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown