Heim > Backend-Entwicklung > PHP-Tutorial > Anweisung zur Datenbankabfrage

Anweisung zur Datenbankabfrage

WBOY
Freigeben: 2016-08-08 09:06:57
Original
921 Leute haben es durchsucht

SELECT goods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_name LIKE '%3%'

Bitte weisen Sie auf das Problem hin
Was ist das richtige Format und fragen Sie einen Meister

Antwortinhalt:

SELECT goods_name FROM ecs_goods WHERE cat_id IN ('9','10','12','13','14') AND goods_name LIKE '%3%'

Bitte weisen Sie auf das Problem hin
Was ist das richtige Format und fragen Sie einen Meister

Das Format ist korrekt. Was ist das Problem?

Diese Aussage ist richtig.

Die

-Anweisung ist in Ordnung, aber solange die Datenmenge etwas größer ist, ist sie extrem langsam und der einzige Optimierungspunkt besteht darin, einen Index zu cat_id hinzuzufügen. Aber wenn Sie es richtig erraten haben, handelt es sich bei diesem Feld um ein kategoriales Feld mit wiederholten Werten, sodass das Hinzufügen eines Index keinen Sinn macht.
Wenn es viele solcher SQLs gibt, empfiehlt es sich, ein Retrieval-System, Elastic Search oder Solr zu verwenden.

SELECT warenname FROM ecs_goods WHERE (cat_id = '9'or cat_id ='10' oder cat_id ='12' oder cat_id ='13' oder cat_id ='14') UND warenname LIKE '%3%'
Am besten nicht verwenden

Da die beiden Bedingungen und sind, können Sie sie separat ausführen. Es sollte möglich sein, das Ergebnis zuerst einzugeben und dann zu liken.

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage