我正在使用网络爬虫。为了防止抓取重复的URL,我将任何URL的MD5存储在列中。为了快速搜索MD5值,我在md5列上创建了一个INDEX。
由于我不知道md5上的ASC和DESC之间是否有任何区别,我已将该索引的排序顺序设置为ASC。我的问题是,如果使用DESC顺序在同一列上定义另一个索引将提高搜索速度?当同一列上有多个索引时,数据库引擎(就我而言,我正在使用SQL Server 2016)是否通过同一列启动两个并行搜索?
聚集索引和非聚集索引之间可能有所不同,但是取决于您的联接和数据集。
索引也不是免费的,请记住,代价通常来自与(插入/删除/更改)功能以及离线功能(如备份)的交互。还有空间方面的问题。
我的建议是强烈建议根据最可能引起痛苦的查询来构建正确的索引。通常,最好的方法是反复试验以及真实的测试样品!