我有一个看起来像这样的数据库表,即地址是一个自由文本字段(我没有设计它):
5 records from the Address Table:
1 The street
2 Pine Street,Lincoln,Lincolnshire
77 Drove Way,Grantham
Drove Way Lincoln
Some house on Ambleside
我有一个应用程序,其地址字段是自由文本(我没有设计它)。我希望用户开始在地址字段中键入地址,然后显示可能出现的列表(希望只有一个)。我想到了几种方法来解决这个问题:
1) Use a LIKE statement e.g. select * FROM dbaddress where address like '%1 The Street%'. This seems like a bad idea.
2) Free text search. I have not used this before.
根据我的要求,这是“更好的选择”。有替代方法吗?
答案 0 :(得分:0)
我以前有类似的东西,在我的情况下,自由文本是更好的选择。如果你可以使用你使用索引的LIKE 'abc%'
也是一个更好的选择。
对于类似地址的字段,最好使用begin with。搜索。
最后根据您的需要,如果我是你,我会执行两个查询并在执行计划中对它们进行比较。