请教Mysql索引优化问题

2021-01-09 15:52发布

我的数据库表device_data有字段id,deviceId,macid,uploadtime等字段,其中id是自增。
这个表现在数据在2千万左右。
有联合索引 idx_deviceId(deviceId,uploadtime)和
联合索引 idx_mac(macid,uploadtime)
目前出现了一个问题就是插入数据会出现超时
插入是批量插入,每批插入的数据行数不超过300条
我怀疑是索引的问题

所以我把 deviceid,macid,uploadtime分别独立建立索引

请教下这样是否有问题

3条回答
Lonely孤独者°
2楼-- · 2021-01-09 15:59

这应该是mysql的配置问题,就这几个索引和数据量应该不算什么问题
https://stackoverflow.com/questions/48244592/large-mysql-insert-timeout SET GLOBAL innodb_buffer_pool_size = 1073741824. 这个有个参考。

查看更多
我想做一个坏孩纸
3楼-- · 2021-01-09 16:02

看下mysql的配置 max_allowed_package参数值是多少,看看是不是插入的数据超过该参数值了

查看更多
可以哭但决不认输i
4楼-- · 2021-01-09 16:20

因为插入数据的时候,要维护索引,导致插入数据超时,不要建立过多的索引,虽然查询快,但是维护索引也是有成本的,建议把表的数据拆分成多个表

查看更多
登录 后发表回答