2017-09-25 134 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表中的例子,如果我們需要提供具體的示例代碼。)