文章详情页
mysql - 数据库批量插入数据的速度是否与索引有关?
问题描述
在数据库批量插入数据时,插入数据的速度是否与创建的索引有关?如果有关请给出指相关文档,谢谢!
问题解答
回答1:当然会有影响,插入数据的时候会导致索性的更新。索性越多,插入会越慢。可以看文档描述Although it can be tempting to create an indexes for every possible column used in a query, unnecessary indexes waste space and waste time for MySQL to determine which indexes to use. Indexes also add to the cost of inserts, updates, and deletes because each index must be updated. You must find the right balance to achieve fast queries using the optimal set of indexes.
回答2:索引对批量插入数据的影响非常大,道理很简单,一方面是写表的时候需要同时写索引,另外就对于唯一索引需要检查数据是否有重复。
对于大批量的数据导入,一般都是先把索引去掉,等数据导入完成后再重建索引。
相关文章:
1. 引用 node.js express加载 静态文件 报错 ??2. javascript - 引入 simditor,但是显示标签,这个怎么解决。3. Android任务列表效果怎么实现4. android-studio - android studio 结巴了,有什么办法可以治好它吗?5. 优先级的问题?6. 如何更新/删除指定的两条或多条数据7. mysql_replication - mysql读写分离时如果单台写库也无法满足性能怎么解决8. android - 目前有哪些用Vue.js开发移动App的方案?9. vue.js - weex 没有背景图片属性怎么办?10. node.js - 利用vue-cli 构建执行到npm run dev 报错,求解~
排行榜