Ok Je dois créer une requête basée sur une entrée utilisateur pour filtrer les résultats.Quelle est la gravité de ma requête?
La requête va fondamentalement quelque chose comme ceci:
SELECT * FROM my_table ORDER BY ordering_fld;
Il y a quatre zones de texte dans lequel les utilisateurs peuvent choisir de filtrer les données, ce qui signifie que je dois construire dynamiquement une clause « WHERE » dans pour le premier filtre utilisé et ensuite les clauses "ET" pour chaque filtre suivant entré. Parce que je suis trop paresseux pour faire cela, je viens de faire de chaque filtre une clause "AND" et de mettre une clause "WHERE 1" dans la requête par défaut.
Alors maintenant, j'ai:
SELECT * FROM my_table WHERE 1 {AND filters} ORDER BY ordering_fld;
Donc ma question est, ai-je fait quelque chose qui aura une incidence défavorable sur la performance de ma requête ou quoi que ce soit d'autre enculé de quelque façon que je devrais être inquiet à distance?
Vraiment question intéressante –
Est-ce que ma requête semble grande dans ce domaine? –
Est-ce juste moi ou Evernoob est-il extrêmement courageux? Je ne voudrais jamais demander à un site plein d'autres développeurs (qui sont notoirement connus) à quel point mon code était mauvais? –