2017-09-25 97 views
0

我需要在sql server中有效地表示json,所以我可以执行一个非常快速的搜索操作。在json上的sql server全文搜索

我有什么:

JSON要被存储:

{"person": { 
    "name": "1234", 
    "age": "99", 
    "parameters": { 
    "param1": "1", 
    "param2": "2" 
    } 
}} 

{"person": { 
    "name": "12345", 
    "age": "996", 
    "parameters": { 
    "param1": "1", 
    "param5": "5", 
    "param7": "7" 
    } 
}} 

参数部分可含有高达20 60的不同的参数。 我需要查找只使用一些参数的人。如果有人有12我可以在搜索查询中使用0-12参数。姓名和年龄始终在搜索查询中提供,每个人都有。 我有约30米jsons在桌子上。

是否有可能使用SQL Server而不使用nosql/solr/elastic?

+0

怎么样的MongoDB? – ControlAltDel

+0

我们已经有了一个sql服务器,并且这些日子里迁移不是一个选项 – omali

回答

0

通过使用ADD col1 AS JSON_VALUE(data,'$.person.parameters.param1') 添加计算列,然后为这些计算列建立索引,可以获得sql server上的高搜索性能。

例如Index JSON data

(请提供您如何JSON是存储在SQL表中的例子,如果我们需要提供具体的示例代码。)