面试题:如果向一个数据库表中插入多条数据很慢,如何解决

首先这个问题如何回答:

(1)排查是否是索引的问题

(2)能否批量插入

(3)能否使用定时任务,用时间换空间。

(1、首先明确一点,如果每条数据需要一秒的时间,假如是一亿条数据至少需要2年左右,意味着你两年都不能使用这个数据库,在现实生活中,你认为可能这样做吗?

2、解决这类问题的最好办法就是:时间换空间,例如:最早的新浪微薄的用户登陆日志就这样实现的,他的登陆日志并不是在用户每次登陆后进行更新的,而当用户量少的时间段进行数据的更新操作,或则每次用户登陆的时候多执行一条更新的语句,不过这样做,缺少实时性。

3、正所谓:“鱼和熊掌二者不可得兼”,我认为并没有空间和时间可以得到完全平衡的方法,只是看你更在意空间还是时间问题。)

 

 

1、http://blog.itpub.net/26736162/viewspace-1244044

2、https://blog.csdn.net/qq547276542/article/details/75097602/

3、数据库的面试题

https://www.cnblogs.com/remember-forget/p/6140112.html

https://www.2cto.com/database/201710/688377.html

 

posted @ 2018-09-28 09:35  小虾米的java梦  阅读(1484)  评论(0编辑  收藏  举报