今天处理一张表,数据量有20W,由于之前数据提供方没有将数据表中的时间规范化,导致无法进行检索,于是先对表中的数据进行格式化,但是发现速度很慢,后来发现,提供的数据表中没有主键,后来为表增加了主键后,速度提升了几个数量级。
原因在于,如果不是主键的话,进行查找时,需要对每条数据进行比较,平均每条比较10W次,执行20W次更新操作,总计200WW次操作。
但建立主键后,将表中数据进行排序,查找方式为二分查找,平均查找次数变为log2(20W)=17.6次,总计需要17.6*20W次操作。
另外,如果经常对其他列进行快速查找,也需要建立索引,牺牲空间换取时间。
电脑前些天总是莫名的卡顿,不知道是硬盘的问题还是acrobat或者是nat123,今天卸载了nat123,没有再出问题。以后还是少用那些奇怪的软件。