做业务开发的同学常常需要去拖库看一些字段去找bug。但拖库的时候往往会遇到一些问题甚至导致线上库挂了,那么我们需要注意哪些呢?
如果有离线库尽量用离线库
很多情况下会做一个离线库给大数据的同学做分析,当你不做线上debug的时候可以考虑往offline库里执行你的逻辑看有没有bug
所有操作带要带上limit
在你的所有语句后面加上一个limit 10(或一个较小的个数),没有limit的情况下会遍历全表。
所有where,distinct操作要使用带索引的值作为input
当你用where或distinct的时候,如果对象不是索引值,而且可能可能没有满足你条件的值时,会进行全表遍历,数据库直接挂死。
注意是单表还是sharding表
当数据量达到千万级甚至上亿时,往往会做sharding,这时候要注意,就算使用了limit,也是按照limit * sharding数来取值的,因此可以指定某张sharding表来操作