L'efficacité ne sera pas beaucoup affectée. Après tout, ce sont toutes des opérations de mémoire. Le plus gros problème avec Mybatis dynamique SQL est que s'il y a trop de IF...TEST, la maintenance ultérieure sera très fatigante, comme il y a de nombreux appelants pour un SQL , il sera très difficile de trouver une combinaison, et le réglage SQL sera très difficile, alors essayez d'en écrire un pour chaque requête (sauf la pagination si vous en avez vraiment besoin IF...TEST). , il est recommandé de ne pas en avoir trop
Il doit y avoir un cache, ce qui ne devrait pas trop affecter l'efficacité. De plus, s'il y a N conditions, alors il y a 2^N combinaisons de conditions correspondantes. Combien de SQL différents devez-vous écrire ?
1. Il est très courant d'avoir plusieurs conditions de test if après où dans la fonction de requête, et il est également courant d'avoir plus de dix ou vingt conditions de requête 2 Puisque MyBatis fournit la fonction de balise de test if ; , il doit y en avoir. Il a été optimisé, et c'est certainement beaucoup plus efficace que d'écrire plusieurs SQL puis de juger et de contourner le code Java 3. Le plus grand impact sur la vitesse d'exécution est la configuration matérielle du serveur de base de données et du serveur de base de données. plate-forme de base de données. En tant que programmeur ordinaire, vous n'avez pas besoin de trop réfléchir. Si vous êtes vraiment préoccupé par ce problème, vous pouvez également mettre votre propre code dans l'environnement de test pour les tests de stress. dans les conditions de requête, les modifications dans les colonnes de résultats de la requête affectent davantage l'efficacité car elles doivent être fermées manuellement. Mise en cache remapResults .
L'efficacité ne sera pas beaucoup affectée. Après tout, ce sont toutes des opérations de mémoire. Le plus gros problème avec
Mybatis
dynamiqueSQL
est que s'il y a trop deIF...TEST
, la maintenance ultérieure sera très fatigante, comme il y a de nombreux appelants pour unSQL
, il sera très difficile de trouver une combinaison, et le réglage SQL sera très difficile, alors essayez d'en écrire un pour chaque requête (sauf la pagination si vous en avez vraiment besoinIF...TEST
). , il est recommandé de ne pas en avoir tropIl ne serait pas trop lent d'écrire un jugement if d'une manière définie, mais si cela ne fonctionne pas, utilisez une vue
Il doit y avoir un cache, ce qui ne devrait pas trop affecter l'efficacité.
De plus, s'il y a N conditions, alors il y a 2^N combinaisons de conditions correspondantes. Combien de SQL différents devez-vous écrire ?
1. Il est très courant d'avoir plusieurs conditions de test if après où dans la fonction de requête, et il est également courant d'avoir plus de dix ou vingt conditions de requête
Pour résumer, que cela fonctionne ou non, écrivons le code et le SQL et testons-le d'abord !2 Puisque MyBatis fournit la fonction de balise de test if ; , il doit y en avoir. Il a été optimisé, et c'est certainement beaucoup plus efficace que d'écrire plusieurs SQL puis de juger et de contourner le code Java
3. Le plus grand impact sur la vitesse d'exécution est la configuration matérielle du serveur de base de données et du serveur de base de données. plate-forme de base de données. En tant que programmeur ordinaire, vous n'avez pas besoin de trop réfléchir. Si vous êtes vraiment préoccupé par ce problème, vous pouvez également mettre votre propre code dans l'environnement de test pour les tests de stress. dans les conditions de requête, les modifications dans les colonnes de résultats de la requête affectent davantage l'efficacité car elles doivent être fermées manuellement. Mise en cache remapResults
.