表中有31个字段。
其中设置了number,stat位索引
ALTER TABLE SALES DROP INDEX indes1, ADD INDEX (number,stat)
还有其他的 ALTER TABLE SALES DROP INDEX indes1, ADD INDEX (uid1,uid2...)
一共有19个设置成索引(这些索引内容都是数字的) 第一次、一次写入1000数据的时候需要10秒左右
第二次、一次写入1000数据差不多20秒多。
连续...可以说是数据在表中也多写入的时间更久了。 大家帮忙看看。是否我设置索引有误,哪方面需要进行优化的。
show index from SALES ;看一下。
innodb的写入会比较慢,因为会需要扩展磁盘文件。如果是这个原因,则一次性把ibdata设置得大一些,从而形成连续的磁盘簇,以避免磁盘碎片。过多的索引,会导致记录插入时索引维护的开销增加,有时删除索引,批量插入记录后再重建索引速度会更快。 等等可能影响插入记录效率的方面很多。
show index from SALES ;
是在服务器上面运行吗?
还是在程序中。
ibdata是怎么设置大些我的服务器是FreeBSD的。是不是在/etc/my.cnf中设置
用msyql.exe 客户端连上你的MYSQL数据库,然后执行。是的。
show index from SALES ; 设置这两个。是什么作用呢?/etc/my.cnf中设置
是设置什么参数呢。
这个不是设置,是需要你提供你表的信息,否则别人怎么去猜你的速度慢到底是什么原因呢?医生看个病也就要想办法得到些信息吧。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html