Chr*_*nch 11 mysql sql indexing query-optimization
以下是我用于通过电子邮件搜索某人的查询
SELECT *
FROM phppos_customers
JOIN phppos_people ON phppos_customers.person_id = phppos_people.person_id
WHERE deleted = 0
AND email LIKE '%f%'
ORDER BY email ASC
Run Code Online (Sandbox Code Playgroud)
在"电子邮件"上添加索引会加快查询速度吗?
通配操作的左侧LIKE
可确保email
无法使用列上的索引(如果存在).
全文搜索(FTS)是通过SQL在文本中查找字符串的首选语法. MySQL具有本机FTS功能,使用MATCH/AGAINST语法(要求该表使用My.5AM引擎进行v.5.5及更低版本.v.5.6 +支持InnoDB FTS):
SELECT c.*, p.*
FROM PHPPOS_CUSTOMERS c
JOIN PHPPOS_PEOPLE p ON p.person_id = c..person_id
WHERE deleted = 0
AND MATCH(email) AGAINST('f')
ORDER BY email
Run Code Online (Sandbox Code Playgroud)
但是有第三方FTS技术,比如Sphinx.
归档时间: |
|
查看次数: |
10922 次 |
最近记录: |