5.然后就开始查询吧
例如:建立了一个Name的索引,则检索语句为:SELECT * FROM [shifenzheng].[dbo].[cdsgus] WHERE NAME='xxx'
建立了一个CtfId的索引,则检索语句为:SELECT * FROM [shifenzheng].[dbo].[cdsgus] WHERE CtfId='xxx'
当然,如果这两个索引都建立了,那这两条检索语句都是可行的。
在建立了索引的情况下,我的机器查询速度一般是顺秒内出结果(当然如果被查询的人名比较普遍,由于结果量大,记录显示出来还是需要点时间的),而不建立索引,最快也得16秒。
那有些聪明的青年要问了:如果这样查询出来的结果很多,比如查询个“张建国”(只是举个例子),就有1724条记录。MMP! 这么多劳资一个个找不是要坑死么。
我们可以继续加限制条件过滤,但是要注意的是,不能写成 SELECT * FROM [shifenzheng].[dbo].[cdsgus] WHERE NAME='张建国' and Birthday>'199101'
这样写数据库是不会使用索引进行查询的(除非你又建立了一个Name和Birthday两个字段联合的索引),可以写成这样
SELECT * FROM (SELECT * FROM [shifenzheng].[dbo].[cdsgus] WHERE NAME='张建国') AS A WHERE A.Birthday>'199101' 这样会调用索引查询,然后再过滤