Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为下面的查询创建索引的最佳方法是什么_Php_Mysql_Sql_Indexing - Fatal编程技术网

Php 为下面的查询创建索引的最佳方法是什么

Php 为下面的查询创建索引的最佳方法是什么,php,mysql,sql,indexing,Php,Mysql,Sql,Indexing,我有一个疑问: select * from `metro_stations` where `is_active` = 1 and (`title` like '%search%' or `title_en` like '%search%') select * from `metro_stations` where `is_active` = 1 and (`title` like '%search%' or `title_en` like '%search%' or

我有一个疑问:

select * from `metro_stations`
where `is_active` = 1
  and (`title` like '%search%' or `title_en` like '%search%')
select * from `metro_stations`
where `is_active` = 1
 and (`title` like '%search%' or
      `title_en` like '%search%' or
      `description` like '%search%')
如果活动字段为TINYINT,标题为VARCHAR255,如何创建有效索引

那么这个查询呢:

select * from `metro_stations`
where `is_active` = 1
  and (`title` like '%search%' or `title_en` like '%search%')
select * from `metro_stations`
where `is_active` = 1
 and (`title` like '%search%' or
      `title_en` like '%search%' or
      `description` like '%search%')

如果描述字段是文本?

请为每列使用全文索引。 如果在查询中使用或单独使用fts索引,如果在一个索引中使用并混合fts索引,则使用多个列

这应该适用于InnoDB 5.6+或MyISAM


请记住字长的限制和全文中的停止字。

'%search%不可搜索。考虑全文索引。LIKE是可搜索的,但仅在搜索结束时使用%参见此处的一些示例我为标题和标题字段添加了两个不同的全文索引,但查询:EXPLAIN EXTENDED select id from metro_stations,其中,is_active=1,而title LIKE%Мöööö%或title_en LIKE%Мööööö%似乎没有使用索引。怎么可能呢?从地铁站选择id,在布尔模式下,在地铁站将标题与“M”匹配OK,这是我的错误。非常感谢。性能如何?这个决定比使用没有任何索引的像“%search%”这样的搜索更好吗?MySQL全文索引的性能分析和全文搜索的像查询阅读了这篇文章,但不了解InnoDB和MyISAM。我的桌子有InnoDB引擎。在这种情况下我可以使用索引吗?