前提:sqlserver数据库
问题:需要从数据量达千万级或是更大的数据库中找出一条需要的数据。
1,先分析大数据的结构,以及数据的流向。以及此过程中那些地方会有瓶颈。
2,针对瓶颈制定方案:
1.1, 比如数据库的结构以及检索方式会影响性能(得详细阐述解决方案,……)
1.2, 比如表分区,数据库分家,表设计时采用索引。如:聚合索引,主键索引,以及他们在哪些方面表现出更好的性能。
1.3, 采取存储过程,编写时尽量用字段(别用*之类的泛指)
1.4, 程序上采用什么方式也很重要。如异步执行,ajax异步等
1.5, 多线程执行。实现多个线程同时处理一份数据
1.6, 若查询到的数据太大,难以放下,可以用缓存,缓存到本地磁盘,这样也可以减小对数据库的重复调用,减小服务器压力。
1.7, 访问量在iis上都会有个上限,于是就要求提高iis的处理能力,例如服务分离,图片服务分离。这样能减小对服务的请求量,留给数据更多的空间。
1.8, 对于请求频繁的页面,可以将其静态化,提高访问速度,同时也起来了优化搜索的作用。
磁盘阵列。硬件上改善