我的数据库表device_data有字段id,deviceId,macid,uploadtime等字段,其中id是自增。
这个表现在数据在2千万左右。
有联合索引 idx_deviceId(deviceId,uploadtime)和
联合索引 idx_mac(macid,uploadtime)
目前出现了一个问题就是插入数据会出现超时
插入是批量插入,每批插入的数据行数不超过300条
我怀疑是索引的问题
所以我把 deviceid,macid,uploadtime分别独立建立索引
请教下这样是否有问题
相关问题
- sqlyog export query result as csv
- NOT DISTINCT query in mySQL
- MySQL: conduct a basic search
- Why sometimes there is one of more gap(s) in the v
- mySQL alter table on update, current timestamp
这应该是mysql的配置问题,就这几个索引和数据量应该不算什么问题
https://stackoverflow.com/questions/48244592/large-mysql-insert-timeout SET GLOBAL innodb_buffer_pool_size = 1073741824. 这个有个参考。
看下mysql的配置 max_allowed_package参数值是多少,看看是不是插入的数据超过该参数值了
因为插入数据的时候,要维护索引,导致插入数据超时,不要建立过多的索引,虽然查询快,但是维护索引也是有成本的,建议把表的数据拆分成多个表