diango做的网站怎么用ppt在哪个软件制作
news/
2025/9/23 12:16:01/
文章来源:
diango做的网站怎么用,ppt在哪个软件制作,wordpress后台默认密码,爱客crm网页版登录概述对于一些数据量较大的系统#xff0c;数据库面临的问题除了查询效率低下#xff0c;还有就是数据入库时间长。特别像报表系统#xff0c;每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此#xff0c;优化数据库插入性能是很有意义的。其实最有效的…概述对于一些数据量较大的系统数据库面临的问题除了查询效率低下还有就是数据入库时间长。特别像报表系统每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此优化数据库插入性能是很有意义的。其实最有效的办法是合并事务有序数据进行INSERT操作。下面用实验来测试说明一下。1、 一条SQL语句插入多条数据常用的插入语句如INSERT INTO t1 (datetime, uid, content, type) VALUES (0, userid_0, content_0, 0);INSERT INTO t1 (datetime, uid, content, type) VALUES (1, userid_1, content_1, 1);修改成INSERT INTOt1(datetime,uid,content,type) VALUES(0,userid_0,content_0,0),(1,userid_1,content_1,1);修改后的插入操作能够提高程序的插入效率。这里第二种SQL执行效率高的主要原因是合并后日志量(MySQL的binlog和innodb的事务让日志)减少了降低日志刷盘的数据量和频率从而提高效率。通过合并SQL语句同时也能减少SQL语句解析的次数减少网络传输的IO。这里提供一些测试对比数据分别是进行单条数据的导入与转化成一条SQL语句进行导入分别测试1百、1千、1万条数据记录。2、 在事务中进行插入处理把插入语句放到一个事务里面START TRANSACTION;INSERT INTO t1 (datetime, uid, content, type) VALUES (0, userid_0, content_0, 0);INSERT INTO t1 (datetime, uid, content, type) VALUES (1, userid_1, content_1, 1);...COMMIT;使用事务可以提高数据的插入效率这是因为进行一个INSERT操作时MySQL内部会建立一个事务在事务内才进行真正插入处理操作。通过使用事务可以减少创建事务的消耗所有插入都在执行后才进行提交操作。这里也提供了测试对比分别是不使用事务与使用事务在记录数为1百、1千、1万的情况。3、数据有序插入数据有序的插入是指插入记录在主键上是有序排列这里假设datetime是记录的主键INSERT INTOt1(datetime,uid,content,type) VALUES(1,userid_1,content_1,1); INSERT INTOt1(datetime,uid,content,type) VALUES(0,userid_0,content_0,0); INSERT INTOt1(datetime,uid,content,type) VALUES(2,userid_2,content_2,2);修改成INSERT INTOt1(datetime,uid,content,type) VALUES(0,userid_0,content_0,0); INSERT INTOt1(datetime,uid,content,type) VALUES(1,userid_1,content_1,1); INSERT INTOt1(datetime,uid,content,type) VALUES(2,userid_2,content_2,2);由于数据库插入时需要维护索引数据无序的记录会增大维护索引的成本。我们可以参照innodb使用的Btree索引如果每次插入记录都在索引的最后面索引的定位效率很高并且对索引调整较小如果插入的记录在索引中间需要Btree进行分裂合并等处理会消耗比较多计算资源并且插入记录的索引定位效率会下降数据量较大时会有频繁的磁盘操作。下面提供随机数据与顺序数据的性能对比分别是记录为1百、1千、1万、10万、100万。从测试结果来看该优化方法的性能有所提高但是提高并不是很明显。性能综合测试这里提供了同时使用上面三种方法进行INSERT效率优化的测试。从测试结果可以看到合并数据事务的方法在较小数据量时性能提高是很明显的数据量较大时(1千万以上)性能会急剧下降这是由于此时数据量超过了innodb_buffer的容量每次定位索引涉及较多的磁盘读写操作性能下降较快。而使用合并数据事务有序数据的方式在数据量达到千万级以上表现依旧是良好在数据量较大时有序数据索引定位较为方便不需要频繁对磁盘进行读写操作所以可以维持较高的性能。觉得有用的朋友多帮忙转发哦后面会分享更多devops和DBA方面的内容感兴趣的朋友可以关注下~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912510.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!