0

我有一个只有 2 个表的数据库Object,,User

显然用户表有关于所有用户的信息,而对象表有数百万条记录

对象表

  1. 标识(整数)
  2. 文本 1 (nvarchar(max))
  3. 文本 2 (nvarchar(max))

我正在尝试制作翻译器,首先我将所有数据放入数据库中,如下所示

1:好,好
2:坏,不好
3:男人,女人的丈夫

如果假设我的网站用户中有 2 个文本框,请输入以下文本

Good Bad Man

然后我将在空间上拆分该字符串,然后我将拥有一个字符串数组,现在我将获取数组的第一个元素并转到服务器以查找无论Good在我的数据库中是否有任何匹配项,如果我找到匹配项,那么我将替换它与Text2我们所拥有Well的价值一样,Good 它花费了太多时间来翻译,有时它会给出Request Timed Out。那么,处理它的最佳方法是什么?

4

1 回答 1

1

您没有提供很多信息来帮助您解决超时问题。

我只能告诉你的是:

  • 首先,检查您的 Text1 和 Text2 列上是否有索引。如果没有,添加它
  • 看看你的 sql 查询。应该是SELECT * FROM OBJECT WHERE TEXT1='Good'(也许添加前 100 名以避免使用 LIKE 返回许多事情)。为了使索引顺利运行,TEXT1 列上不应调用任何函数(如大写或修剪)。如果用like的话应该是TEXT1 LIKE 'good%'(%结尾)
  • 如果您使用like,请注意不要在空条目、% 或 _ 条目上返回整个表(LIKE '%'、LIKE '%%'、LIKE '_%' 可能是坏事)
  • 如果您只是存储单词,为什么要使用 nvarchar(max) ?
  • 不要忘记清理您的条目以避免sql注入
于 2012-12-13T09:01:03.913 回答