我正在做一个搜索功能,其中搜索值应该与db表中的两列进行比较。一列只是一个名称,另一列是en加密值,格式为"xxxxxx-xxxx“(仅数字)。用户应该能够只搜索表中总字符串的一部分。
对于名称比较,我使用where name LIKE %search_value%,但是对于加密值,我不能使用这种方式。
有什么想法是比较的好方法吗?
我必须实现在用户名中查找子字符串的搜索。用户有2列的FirstName和LastName。做WHERE FirstName LIKE '%searchText%' OR LastName LIKE '%searchText%'就足够了
我想要解决的问题是性能。比方说,目前我预计最多会有1000个用户。我不想花很长时间去寻找。所以我想到了索引(这些列不会有太大的变化,我希望这些列的值几乎永远不会改变)。我知道,我将寻找两个列,我需要多列索引。
这样做对吗?或者最好使用SQL全文搜索(请提供一些好的链接)?创建一个将FirstName和LastName连接在一起并在
我有一张桌子上面列着人和他们所有的联系方式。我希望用户能够在表上执行智能搜索,只需输入一些内容并返回结果,他们输入的每个术语至少匹配表中的一个列。首先,我进行了如下查询
SELECT * FROM contacts WHERE
firstname LIKE '%Bob%'
OR lastname LIKE '%Bob%'
OR phone LIKE '%Bob%' OR
...
但现在我意识到,在像“Bob”这样简单的事情上,这将完全失败,因为它不够聪明,无法单独搜索姓氏的第一个名称。我需要做的是把搜索词分开,然后单独搜索,然后以某
我目前在mysql用户表中有一个名称和姓氏字段,以及一个搜索框,它们可以在其中同时输入,所以我的查询基本上是
SELECT name,surname FROM user
WHERE CONCAT(name,' ',surname) LIKE '@search%'
这很好,但是在一个大表上会变得非常慢,即使名称和姓氏列都是索引的,而且当搜索被分割时,它非常快,是否有方法索引连接字段,或者当两个字段都被索引时,它们是否已经被索引,切换到全文索引会更快吗?
因此,在Server中,我有一个表示图书记录的表。有点像
No title type publisher etc...
------------------------------------------------------
118 'Book Title' book 'publisher_1'
119 'Title' book 'publisher_1'
120 'Title but
我想搜索一个名字“Hamed Haddadi”。‘'Hamed’是名,'Haddadi‘是用户的姓。当我分别在名字和姓氏列中搜索时,它会显示一个记录。
我的问题是:
SELECT *
FROM nbaplayermaster
WHERE firstname LIKE "%Hamed%" OR
lastname LIKE "%Haddadi%";
但是,每当我在两列中搜索他的名字时,它都会在MySQL中显示一个空的结果集。
我的问题是:
SELECT *
FROM nbaplayermaster
WHERE firstname