489034603
1、和oracle比较,SQLSERVER和DB2的锁机制便是有点先天不敷,譬如DB2会有locklist和lockmax这两个参数来掌握锁在内存中的大小,以及什么时候由行锁升级成表所,sqlserver的锁和DB2有些类似,都是放在内存中的,但是oracle放在block的标志位的上的设计,在2000~3000高并发的情形下的上风会非常大,去世锁,锁超市就大大减少。这点对并发影响很大(这里实在还有很多的东西,我只是粗略地说一下)。
2、sqlserver每条并发的sql语句都会打开一个数据库连接,而oracle的每条并发语句去世通过一个oracle conncet建立多个oracle session,这个在企业级运用的时候也会让oracle在并发上霸占上风。往后两点可以通过改进运用,优化程序来改进,从某种角度来说,读写分离也可以有效的降落上面两点的不利影响。sqlserver的集群没用过,不过听朋友说不如oracle,这个有待考证,sqlserver的事务分发,读写分离,存在一定的安全性隐患,不过确实可以有效的提高性能。
3、高并发情形下的sql的实行,实行操持就比较的关键。sqlserver的优化器逐渐在进化,可以用Profiler来跟踪查询,得到查询所需的韶光,找出SQL的问题所在;用索引优化器优化索引。此外,统计数据刷新也比较关键。如果并发高,但是数据量不大就利用同步刷新的好了。
4、如果不能提高做事器的性能,那么读写分离,和利用不同的隔离级别那便是有效的手段。包括利用快照隔离级别,利用replication同步技能,或者建立snapshot database读写分离。利用采取row-versiong based的snapshot 事务隔离层级,在数据查询,只管即便利用 READ UNCOMMITTED 事务隔离级别, 都可以减少锁的开销。SSD硬盘.......两连天有个朋友的SSD硬盘坏掉了......数据库都挂了。。SSD硬盘的读取速率是毫无疑问的,但是它的写操作寿命还有待考证,总是让我觉得不放心,但是用来做读写分离的时候还是很有用的。
489034603
如果有小伙伴想学习大数据知识的,可以加下图片下方的互换群,群里有很多大数据的资料可以下载学习,还有大神在群里可以一起互换谈论