2010-09-25 4 views
1

Je viens de commencer à utiliser les datatables (script java) pour les données tabulaires, grâce à js je peux utiliser des fonctionnalités comme la recherche, le nombre de lignes par page, le tri et la pagination. Avant d'utiliser js, je montrais simplement des données dans le tableau (Ajax utilisé pour la pagination), mais incapable d'utiliser les fonctionnalités ci-dessus (la performance dans ce cas était bonne). Maintenant, j'utilise les fichiers jquery.dataTables.js et jquery.js pour la structure de la table. Mais le problème est que cela a mal martelé les performances du site, initialement tout le script était sous une seule page, puis firefox donnait un message warnign comme "Script sans réponse", puis j'ai créé un fichier séparé pour la table, puis j'ai arrêté message mais une performance plus faible. Ce que je fais, c'est d'extraire les données de l'API, de les stocker dans la base de données et de les montrer, mais js prend beaucoup de temps, parfois il ne montre pas la table quand il y a des milliers de données.
J'ai vraiment besoin d'utiliser js pour la table mais je ne peux pas me permettre cette mauvaise performance. Est-ce que quelqu'un a déjà eu ce problème?
en attente de précieux conseils.Javascript martelé performance

Répondre

1

Vous ne pouvez pas stocker et manipuler efficacement des milliers de lignes de données en Javascript. Les moteurs de base de données tels que MySQL ont toutes sortes de gubbins (index, caches), pour accélérer la recherche (requêtes). Javascript n'a rien de tout cela, et vous pouvez optimiser votre méthode de stockage et de recherche autant que vous le souhaitez, mais vous n'obtiendrez jamais une solution efficace.

La pagination doit se faire sur le serveur. Le serveur vous envoie 30 lignes de données, quand vous en voulez plus, vous en demandez plus au serveur; généralement sous la forme soit d'un nouveau chargement de page pour remplacer le contenu actuel avec un autre ensemble de résultats, soit d'une requête AJAX pour ajouter/ajouter en préfixe le nouveau contenu à l'existant. Lorsque vous voulez rechercher les données, utiliser Javascript est très bien pour chercher dans le contenu que vous avez sur la page (~ 10 de lignes), mais pour rechercher l'ensemble de données, envoyez la requête au serveur et laissez votre base de données le moteur fait le travail.

+0

merci matt, pour votre réponse! – Rishi2686