今日發現一個獨立的api微服務插入數據過慢,主要體現在日志aop的數據入庫。於是我通過搜索想知道如何提高mysql數據庫插入數據的效率。通過搜索我找到了三種方法:
- (1)修改mysql配置文件(mysql的ini文件增加bulk_insert_buffer_size=100M);
- (2)改寫insert語句(使用insert delayed into);
- (3)一次插入多條數據(使用insert into table values(‘張三’,’18’),(‘李四’,’22’),(‘王五’,’28’)…;)。
其中我嘗試了第二種方法,效果能直接看到,只不過有延遲,沒有普通insert into那樣實時性(從字面上就很好理解,即延遲插入),
這種方法和我用線程池異步處理效果很相似。
參考資料如下:
mysql千萬級數據庫插入速度和讀取速度的調整記錄