Maison  >  Article  >  base de données  >  Comprendre la requête floue MySQ (Oracle) et utiliser instr() au lieu de like pour améliorer l'efficacité

Comprendre la requête floue MySQ (Oracle) et utiliser instr() au lieu de like pour améliorer l'efficacité

coldplay.xixi
coldplay.xixiavant
2020-07-01 17:59:472433parcourir

Comprendre la requête floue MySQ (Oracle) et utiliser instr() au lieu de like pour améliorer l'efficacité

Tout le monde sait que l'efficacité du like est très faible et que la grande quantité de données sera très lente. Aujourd'hui, j'ai découvert un système intégré. la fonction instr() qui est plus efficace que High

  • SELECT * FROM msg_list WHERE title LIKE '%涂山%'
    peut être remplacée par :
  • SELECT * FROM msg_list WHERE INSTR(title,'涂山') > 0

Les méthodes utilisés dans ThinkPHP/Laravel sont :

  1. UtilisezwhereRaw() pour exécuter INSTR() natif
  2. Modifiez la requête de construction (non recommandé, mais il est pratique à utiliser)
    项目根目录\thinkphp\library\think\db\Builder.php

    MsgList::where([
         'title' => ['instr','涂山']])
     ->select();

Recommandations d'apprentissage associées : Tutoriel vidéo MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer