Sql server 数据库性能和json

Sql server 数据库性能和json,sql-server,database,database-normalization,Sql Server,Database,Database Normalization,我不熟悉数据库性能问题,对最佳实践有疑问。我有一个数据库表,其中包含10000多对城市和州,例如 德克萨斯州达拉斯 德克萨斯州休斯顿 佛罗里达州迈阿密 有人告诉我,最好的做法是将城市和州放在不同的表格中,并用综合指数引用它们 我忘了提到这些位置与自动完成的Json文本框一起使用。这会改变情况吗?还是我应该有单独的表格 如果我把它们放在同一张表上,最好是索引两个字段还是只索引一个 文本框的使用方式类似于谷歌搜索,如果你输入一个问题,你会在下面得到建议。如果用户输入的是Hou,那么德克萨斯州休斯顿将

我不熟悉数据库性能问题,对最佳实践有疑问。我有一个数据库表,其中包含10000多对城市和州,例如

德克萨斯州达拉斯 德克萨斯州休斯顿 佛罗里达州迈阿密 有人告诉我,最好的做法是将城市和州放在不同的表格中,并用综合指数引用它们

我忘了提到这些位置与自动完成的Json文本框一起使用。这会改变情况吗?还是我应该有单独的表格

如果我把它们放在同一张表上,最好是索引两个字段还是只索引一个

文本框的使用方式类似于谷歌搜索,如果你输入一个问题,你会在下面得到建议。如果用户输入的是Hou,那么德克萨斯州休斯顿将开始出现在文本框下方。文本框仅用于搜索,不用于任何插入或更新

    var zipps = db.zipss.Where(s => s.city.Contains(id) && s.state.Contains(tid)).Take(5).Select(b => b.city + "," + b.stateabbr).ToList().Distinct();
                return Json(zipps, JsonRequestBehavior.AllowGet);

如果按文本字段而不是id搜索数据,则需要在这些文本字段上创建索引

搜索如何处理您的数据?您键入城市的名称并获取包含其“州”的城市组? 然后你需要一个关于城市名称的索引

如果我们只讨论这个查询s=>s.city.Containsid&&s.state.Containsid,那么这两行上的复合索引将帮助您更快地查找数据