sql话语中当条件的数量非常大时where.in条件子句用什么更好的方法代替
sql语句中当条件的数量非常大时where...in条件子句用什么更好的方法代替?
当sql语句中的where条件是where id in(1,2,3,4,8,11,23,56,89,110,...),即当in的数量相当大时,这种sql语句是很劣质的,那么用什么其它更好的方法解决这样的问题呢?
------解决方案--------------------
把in中的id分开来查询,最后再合并起来。
------解决方案--------------------
select * from x where id=1 union all select * from x where id=2 union all ...
------解决方案--------------------
这个就不错了。
------解决方案--------------------
能告诉我你列表中的id是怎么来的吗?
------解决方案--------------------
那就不是 sql语句很劣质的 的问题了,既然你允许传入一万个 id 值,那么为什么要说包含这一万个 id 值得 in 子句是劣质的呢?
------解决方案--------------------
那么你认为把传入的 id 组先存入表,然后再关联查询是否更明智呢?
------解决方案--------------------
或者是遍历传入的 id 组,在循环里逐一查询,更明智点?
------解决方案--------------------
------解决方案--------------------
有兴趣的话可以看这个blog
http://explainextended.com/2009/08/18/passing-parameters-in-mysql-in-list-vs-temporary-table/
不过,就如blog结尾所说,只有在数量比较大的情况下才能看出明显效果.
如果你的id就那么几个,几十个...我不认为需要考虑这点差别.
1,2楼分开查询的方法我认为不可取, 因为mysql内部的处理大概也不会比那样更差吧...
------解决方案--------------------
同意楼上,仅几个,几十个(甚至几百个)的 IN ID 效率低不到哪去。不然你还有什么好办法。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
嘿嘿, 没看我上面贴的blog吧...那是插入临时表再join查询...数据大的情况比in快.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lors de la connexion à iTunesStore à l'aide de l'AppleID, cette erreur indiquant "Cet AppleID n'a pas été utilisé dans iTunesStore" peut s'afficher à l'écran. Il n'y a pas de messages d'erreur à craindre, vous pouvez les corriger en suivant ces ensembles de solutions. Correctif 1 – Modifier l'adresse de livraison La principale raison pour laquelle cette invite apparaît dans l'iTunes Store est que vous n'avez pas la bonne adresse dans votre profil AppleID. Étape 1 – Tout d’abord, ouvrez les paramètres iPhone sur votre iPhone. Étape 2 – AppleID doit être au-dessus de tous les autres paramètres. Alors, ouvrez-le. Étape 3 – Une fois sur place, ouvrez l’option « Paiement et expédition ». Étape 4 – Vérifiez votre accès à l'aide de Face ID. étape

Si vous trouvez l'ID d'événement 55, 50, 140 ou 98 dans l'Observateur d'événements de Windows 11/10, ou si vous rencontrez une erreur indiquant que la structure du système de fichiers du disque est endommagée et ne peut pas être utilisée, veuillez suivre le guide ci-dessous pour résoudre le problème. Que signifie l'événement 55, Structure du système de fichiers sur le disque corrompue et inutilisable ? À la session 55, la structure du système de fichiers sur le disque Ntfs est corrompue et inutilisable. Veuillez exécuter l'utilitaire chkMSK sur le volume. Lorsque NTFS ne parvient pas à écrire des données dans le journal des transactions, une erreur avec l'ID d'événement 55 est déclenchée, ce qui empêchera NTFS de terminer l'opération incapable d'écrire les données de transaction. Cette erreur se produit généralement lorsque le système de fichiers est corrompu, probablement en raison de la présence de secteurs défectueux sur le disque ou de l'inadéquation du système de fichiers du sous-système de disque.

HQL et SQL sont comparés dans le framework Hibernate : HQL (1. Syntaxe orientée objet, 2. Requêtes indépendantes de la base de données, 3. Sécurité des types), tandis que SQL exploite directement la base de données (1. Normes indépendantes de la base de données, 2. Exécutable complexe requêtes et manipulation de données).

"Utilisation de l'opération de division dans OracleSQL" Dans OracleSQL, l'opération de division est l'une des opérations mathématiques courantes. Lors de l'interrogation et du traitement des données, les opérations de division peuvent nous aider à calculer le rapport entre les champs ou à dériver la relation logique entre des valeurs spécifiques. Cet article présentera l'utilisation de l'opération de division dans OracleSQL et fournira des exemples de code spécifiques. 1. Deux méthodes d'opérations de division dans OracleSQL Dans OracleSQL, les opérations de division peuvent être effectuées de deux manières différentes.

Oracle et DB2 sont deux systèmes de gestion de bases de données relationnelles couramment utilisés, chacun possédant sa propre syntaxe et ses propres caractéristiques SQL. Cet article comparera et différera la syntaxe SQL d'Oracle et de DB2, et fournira des exemples de code spécifiques. Connexion à la base de données Dans Oracle, utilisez l'instruction suivante pour vous connecter à la base de données : CONNECTusername/password@database Dans DB2, l'instruction pour vous connecter à la base de données est la suivante : CONNECTTOdataba.

Dans le logiciel Alibaba, une fois que vous avez enregistré un compte avec succès, le système vous attribuera un identifiant unique, qui servira d'identité sur la plateforme. Mais pour de nombreux utilisateurs, ils souhaitent interroger leur identifiant, mais ne savent pas comment le faire. Ensuite, l'éditeur de ce site Web vous présentera ci-dessous une introduction détaillée aux étapes de la stratégie, j'espère que cela pourra vous aider ! Où puis-je trouver la réponse à l'identifiant Alibaba : [Alibaba]-[Mon]. 1. Ouvrez d'abord le logiciel Alibaba. Après avoir accédé à la page d'accueil, nous devons cliquer sur [Mon] dans le coin inférieur droit. 2. Ensuite, après avoir accédé à la page Mon, nous pouvons voir [id] en haut de la page ; L'ID est-il le même que Taobao ID et Taobao ID sont différents, mais les deux

Interprétation des balises SQL dynamiques MyBatis : explication détaillée de l'utilisation des balises Set MyBatis est un excellent cadre de couche de persistance. Il fournit une multitude de balises SQL dynamiques et peut construire de manière flexible des instructions d'opération de base de données. Parmi elles, la balise Set est utilisée pour générer la clause SET dans l'instruction UPDATE, qui est très couramment utilisée dans les opérations de mise à jour. Cet article expliquera en détail l'utilisation de la balise Set dans MyBatis et démontrera ses fonctionnalités à travers des exemples de code spécifiques. Qu'est-ce que Set tag Set tag est utilisé dans MyBati

Qu'est-ce que l'identité en SQL ? Des exemples de code spécifiques sont nécessaires. En SQL, l'identité est un type de données spécial utilisé pour générer des nombres à incrémentation automatique. Il est souvent utilisé pour identifier de manière unique chaque ligne de données dans une table. La colonne Identité est souvent utilisée conjointement avec la colonne clé primaire pour garantir que chaque enregistrement possède un identifiant unique. Cet article détaillera comment utiliser Identity et quelques exemples de code pratiques. La manière de base d'utiliser Identity consiste à utiliser Identit lors de la création d'une table.
