Php mysql索引正在更改
我将用php(在mysql数据库中)编写搜索脚本,所以我将使用索引来完成它(以加快速度)。我有这样的html表单 HTML:Php mysql索引正在更改,php,html,mysql,select,indexing,Php,Html,Mysql,Select,Indexing,我将用php(在mysql数据库中)编写搜索脚本,所以我将使用索引来完成它(以加快速度)。我有这样的html表单 HTML: <select name="search"> <option value="name">Name</option> <option value="surname">Surname</option> <option value="etc">Etc.</option>
<select name="search">
<option value="name">Name</option>
<option value="surname">Surname</option>
<option value="etc">Etc.</option>
</select>
名称
姓
等
所以我将编写mysql索引,如So=>,例如,如果选择了名称,我想在数据库中创建带有名称列的索引,在结果之后,我想删除该索引(这一切都是用php实现的),我将对每个选择选项都这样做,所以我感兴趣的是这样做是否正确,如果不是,我该怎么做?此外,该表不会被更新,但它也可以添加一些其他数据,在这种情况下,我是否会遇到索引问题?如果我理解正确,您的方法是每次搜索该列时在该列上创建一个新索引 这绝对不正确。如果表中有任何实际数据量,则创建索引的过程可能非常缓慢。创建一次索引。然后,在搜索列字段时,它们将始终存在。特别是如果你说的“表不会更新”。我从未遇到过这样一种情况,即通过编程创建然后删除索引是正确的方法
值得注意的是,当您创建一个新的索引时,MySQL会构建一个单独的信息块,每次在表中进行更改时都必须更新该信息块。如果表中有大量数据,并且经常进行更改(迫使索引不断更新),则可能会遇到一些性能问题。但是,我觉得这不是你的情况。那么我可以创建一些索引(例如4)吗?在一些索引中也有例如2列?是的,你可以这样做。MySQL非常擅长确定用于查询的最佳可用索引。我建议您阅读MySQL如何使用索引。