2017-03-01 1 views
1

Je connais les concepts de base de la recherche binaire et du tri par insertion binaire, mais comment puis-je utiliser cette connaissance avec MySQL? Comment puis-je effectuer une requête pour trouver un nom d'utilisateur dans 1000 lignes alphabétisées et comment puis-je demander l'insertion d'un nom d'utilisateur?Comment implémenter une recherche binaire en utilisant MySQL?

+1

MySQL le fait pour vous. Il n'y a aucune raison de rechercher ou d'insérer manuellement quelque chose avec une recherche binaire ou un tri d'insertion binaire. Le concept même n'a pas de sens dans une base de données relationnelle. – tadman

+0

Fondamentalement, lorsque vous effectuez une recherche par clé primaire, MyQSL effectue une recherche binaire –

+0

@tadman Oh, alors lorsque vous trouvez un nom d'utilisateur particulier dans une liste de 1000 lignes non-alphabétisées, il utilise la recherche binaire? – user2896120

Répondre

1

Vous ne le faites pas. Vous indexez la colonne et laissez la base de données utiliser l'algorithme qu'elle choisit pour l'index. Ce sera probablement un arbre B +, ce qui est beaucoup plus efficace qu'une recherche binaire lorsque les données sont sur un disque.

+0

Oh, donc j'insère simplement n'importe quelles données dans ma table et celui que je veux récupérer utilise l'algorithme le plus efficace pour récupérer l'ensemble de données? – user2896120

+0

Oui, c'est à ça que sert une base de données. – EJP