1
8
最好的办法是根据实际生产数据来衡量性能,而不是试图猜测(或询问我们)。这是因为性能有时取决于您正在处理的数据,尽管在这种情况下似乎不太可能(但我不这么认为 知道
如果这是一个您将要做很多工作的查询,您应该考虑另一个(索引的)列,其中包含
这将以最小的存储增加为代价,使此查询盲目快速:
这是因为大多数数据库的读取频率远远高于写入频率,这将在所有读取中分摊计算成本(仅用于写入)。 它引入了冗余数据,但只要您理解(并减轻,如本建议中所述)后果和 额外的表演。 |
2
13
不是函数 因此可以利用数据上的任何索引。 This web page 用一些例子描述用法的不同。这意味着SQL server必须为返回的每个记录计算函数。 “Substring”和其他类似的函数也是罪魁祸首。 |
3
4
我有一个类似的问题,对两个都进行了测试。这是我的密码。
在1分51秒内返回1434行。
在1分27秒内返回1434行 我的数据用左边的5更快。顺便提一下,我的整个查询确实命中了一些索引。 |
4
1
当搜索列包含索引时,我总是建议使用like运算符。我在我的生产环境中使用select count(column_name)from table_name where left(column_name,3)=“AAA”或left(column_name,3)=“ABA”或。。。最多9个或条款。“我的计数”显示7301477条记录,左4秒,右1秒,即列名称如“AAA%”,列名称如“ABA%”,或。。。最多9个类似条款。 在where子句中调用函数不是最佳实践。参考 http://blog.sqlauthority.com/2013/03/12/sql-server-avoid-using-function-in-where-clause-scan-to-seek/ |
5
0
实体框架核心用户
根据需要,您可能需要预处理searchString。 https://github.com/aspnet/EntityFrameworkCore/issues/7429
此函数不在实体框架中(非核心)
|
ridiculous_fish · std::是否保证短路? 2 年前 |
Hilde Schneider · php对我的if条件有问题 6 年前 |
user8188120 · 熊猫用np标记时间戳。其中比较 6 年前 |
Jarek · 与循环python数据帧中的下一个/上一个值进行比较 6 年前 |
vato · Bash脚本:测试浮点数是否在包括负数在内的特定范围内 7 年前 |