SQL范围条件小于,大于和之间

时间:2017-06-08 19:29:25

标签: sql sql-server tsql range

我想要完成的是;查询'电子邮件ocr in' &安培; '全面生产' "文档中的行创建列"字段,总数与"电子邮件OCR" ' documents_created。如果没有,请拉出该批次。最后,如果附件计数少于7个条目,则电子邮件地址为&拉出通用生产文件然后返回结果

enter image description here

enter image description here

下面的当前查询:

$lines = Get-Content -Path 'C:\temp\test.txt'
$half = [math]::Round($lines.count/2)
Select-Object -InputObject $lines -Last $half

任何想法如何融入?我是新手。谢谢

1 个答案:

答案 0 :(得分:1)

创建索引时,只需指定要编制索引的列。为范围查询或完全匹配创建索引没有区别。您可以向同一索引添加多个列,以便所有列都可以从索引中受益,因为当时只能选择每个表的一个索引来支持查询。

您可以创建一个仅涵盖where - 子句的索引:

alter table N_LF_OCR_LOG add index test1(log_time, documents_created, type, pages_created);

或者还将排序所需的列添加到索引中。索引中列的排序很重要,必须与查询中的排序相同:

alter table N_LF_OCR_LOG add index test1(log_time, id, processed_time, documents_created, type, pages_created);

或者添加一个覆盖索引,该索引也包含返回的列,因此您不必从表中加载任何值,只需使用索引即可回答完整查询。这为查询提供了最佳响应时间。但是索引在磁盘上占用了更多的空间。

alter table N_LF_OCR_LOG add index test1(log_time, id,  processed_time, documents_created, type, pages_created, NAME, start_time, processed);

使用查询前面的explain关键字来查看索引的效果。