Je dois programmer une recherche client à partir de la base de données.
Je sais que les bases de données sont de gérer d'énormes quantités de données. Mais mon "mentor" m'a dit d'interagir avec la DB le moins possible. p>
est-il préférable de lire toute la table de base de données dans une table interne, puis de filtrer sur la base des paramètres entrés par l'utilisateur: p> ou juste faire un Accès direct à la table de base de données? p>
4 Réponses :
Il est vrai que l'accès à la DB est considéré comme une action coûteuse.
S'habituer à l'accès à la DB de la bonne manière forte> donnera à votre système une performance un boost de performance. Généralement, la réduction du nombre d'accès à la DB est un bon point de départ. Cependant, ce n'est pas le seul à considérer dans le " regardons particulièrement dans votre cas: p> pièges: p> Je suis hors de temps maintenant. Je vais essayer d'étendre plus quand j'ai plus de temps. Bonne chance. P> P.s.
SELECT * CODE> pourrait être faux. LI>
select * code> donnera un démarreur de
n code> lignes dans
lt_customer code>, lorsque
n code> est le nombre d'enregistrements du client Tableau DB. Il est parfois inévitable de faire des calculs dans
n ^ 2 code> commander ou encore plus. Alors que le
n code> augmente, il en va de même pour le traiter pour le traiter. LI>
ol>
Sélectionnez ... endselect. code> est considéré comme une mauvaise pratique. Vous pouvez en lire à ce sujet, dans l'exemple ici . P> P>
Lorsque vous obtenez un meilleur mentor 1 sup> Il sera beaucoup plus facile de refroidir votre code à quelque chose de raisonnable. P>
seulement strud> si 1) ou DBA ou CTO, quiconque est responsable de l'actuel, très em> mauvaise politique p> it_customer code> provoque des décharges de mémoire si vous utilisez Sélectionner ... endselect. p>
SELECT the, fields, you, really, need FROM customer INTO TABLE @DATA(customers) WHERE some_attribute = @some_value OR some_id IN @some_range PACKAGE SIZE 1024. " some processing ENDSELECT
La question n'est pas liée à ABAP, c'est une question de ce qui est plus rapide, de la base de données ou de l'application? Peut-être que les réponses à cette question vous aidera.
Franchement, cela dépend de votre base de données (esp. Hana) ci-dessous. Il existe de nombreuses solutions en fonction de votre base de données et de votre quantité de données que vous souhaitez sélectionner.