我将用php (在mysql数据库中)编写搜索脚本,所以我将使用索引(以提高速度)。我有这样的html表单
HTML:
<select name="search">
<option value="name">Name</option>
<option value="surname">Surname</option>
<option value="etc">Etc.</option>
</select>所以我会像这样写mysql索引,例如,如果选择了=>,我想用name列在数据库中创建索引,结果之后我想删除索引(这是php的一切),我会对每个select选项都这样做,所以我感兴趣的是这样是正确的吗,如果不是,我该怎么做呢?另外,该表不会被更新,但它还可以添加一些其他数据,在这种情况下,我会在索引方面遇到问题吗?
发布于 2012-01-03 01:16:25
如果我没理解错的话,你的方法是每次搜索一列时在该列上创建一个新的索引?
这绝对是不正确的,如果表中有任何实际数量的数据,创建索引的过程可能会非常慢。创建索引一次。然后,当搜索列字段时,它们将始终在那里。特别是如果像你说的“表不会被更新”。我从来没有遇到过以编程方式创建然后删除索引是正确方法的情况。
值得注意的是,当您创建一个新索引时,MySQL会构建一个单独的信息块,然后每次在表中进行更改时都必须更新该信息块。如果表中的数据量非常大,并且经常进行更改(强制索引不断更新),则可能会遇到一些性能问题。然而,我感觉这不是你的情况。
https://stackoverflow.com/questions/8703443
复制相似问题