平时做个记录,在工作过程中针对大数据查询的一些小技巧
-----------SELECT-------------
1.必要的冗余字段,减少关联查询
2.关键查询字段必须加索引 否则百万级以上你就别想跑出来了,一下子吃掉你内存
3.top使用的时候 先用MAX判断下 ,因为数据库是隔一段时间删除之前的数据,如果top1 在百万级以上 你查询一条根本不存在的数据, 时间会特别久 甚至吃光你的内存
4.多用SQL监控语句 查看数据库查询不合理的地方,具体查询SQL在我上一条博客
-----------Insert-------------
1.批量插入技巧
如果我们一条一条插入数据,针对并发大,会丢失数据,并且对服务器内存和CPU损耗极大 所以我们一般采用缓存插入
1.程序级缓存,可以先把数据缓存到一个List或者HASH,判断条数到达某个设定值,利用.NET的SqlBulkCopy插入
2.NOSQL缓存,把数据先插入到Redis 然后用另外的程序去读取插入
等待继续更新...