当前位置: 首页 > news >正文

营销型网站改版设计网页

营销型网站改版,设计网页,北京网校,如何在手机上建立自己的网站回城传送–》《31天SQL筑基》 文章目录零、前言一、练习题目二、SQL思路:SQL进阶-写优化-插入优化解法插入优化禁用索引语法如下适用数据库引擎非空表:禁用索引禁用唯一性检查语法如下适用数据库引擎禁用外键检查语法如下适用数据库引擎批量插入数据语法…

回城传送–》《31天SQL筑基》

文章目录

  • 零、前言
  • 一、练习题目
  • 二、SQL思路:SQL进阶-写优化-插入优化
    • 解法
      • 插入优化
        • 禁用索引
          • 语法如下
          • 适用数据库引擎
            • 非空表:禁用索引
        • 禁用唯一性检查
          • 语法如下
          • 适用数据库引擎
        • 禁用外键检查
          • 语法如下
          • 适用数据库引擎
        • 批量插入数据
          • 语法如下
          • 适用数据库引擎
        • 批量导入数据
          • 语法如下
          • 适用数据库引擎
        • 禁用事务自动提交
          • 语法如下
          • 适用数据库引擎
  • 三、总结
  • 四、参考

零、前言

今天是学习 SQL 打卡的第 31 天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 )。

希望大家先自己思考,如果实在没有想法,再看下面的解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了,养成每天学习打卡的好习惯。

​ 虚竹哥会组织大家一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。

​ 我的学习策略很简单,题海策略+ 费曼学习法。如果能把这些题都认认真真自己实现一遍,那意味着 SQL 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。

今天的学习内容是:SQL进阶-写优化- 插入优化

一、练习题目

题目链接难度
SQL进阶-写优化- 插入优化★★★☆☆

二、SQL思路:SQL进阶-写优化-插入优化

在这里插入图片描述
在这里插入图片描述

解法

要求处理:

  • 从四个选项中选择一个正确答案

插入优化

往表中插入数据时,会受索引,唯一性校验,外键检查和事务自动提交等原因会影响插入的效率。以下会分别介绍各种优化的方式。

禁用索引

在(非空表)插入大量数据时,可以先禁用索引,等数据插入完成,再启用索引。达到提高插入性能。
注:对于非空表插入记录时,MySQL会根据表的索引对插入记录建立索引。空表插入禁用是没有效果的

语法如下
#禁用索引
ALTER TABLE 表名 DISABLE KEYS;
#开启索引
ALTER TABLE 表名 ENABLE KEYS;
适用数据库引擎

MyISAM

非空表:禁用索引

–先清空student表数据

truncate student_my_isam ;

调用存储过程,先创建1万条数据。


CALL add_student_disable_index(10000) ;

在这里插入图片描述

禁用索引

ALTER TABLE student_my_isam DISABLE KEYS;

再调用存储过程,创建数据。


CALL add_student_disable_index(10000) ;

在这里插入图片描述
启用索引

ALTER TABLE student_my_isam ENABLE KEYS;

禁用唯一性检查

在插入大量数据时,可以先禁用唯一性检查,等数据插入完成,再启用唯一性检查。达到提高插入性能。

语法如下
#禁用唯一性检查
SET UNIQUE_CHECKS = 0;
#开启唯一性检查
SET UNIQUE_CHECKS = 1;
适用数据库引擎

MyISAM和InnoDB

禁用外键检查

在插入大量数据时,可以先禁用外键检查,等数据插入完成,再启用外键检查。达到提高插入性能。

语法如下
#禁用外键检查
SET foreign_key_checks = 0;
#开启外键检查
SET foreign_key_checks = 1;
适用数据库引擎

MyISAM和InnoDB

批量插入数据

向数据表中插入多条数据时,一次性插入多条比每次插入一条的性能要高出很多。

语法如下
INSERT INTO table_name (column1,column2,column3,) 
VALUES (value1,value2,value3,),(value4,value5,value6,);
适用数据库引擎

MyISAM和InnoDB

批量导入数据

使用LOAD DATA INFILE导入数据比用INSERT插入数据的性能高。

语法如下
LOAD DATA INFILE ‘data_file_path’ INTO TABLE table_name;

说明:

  • data_file_path表示数据文件在服务器磁盘的绝对路径;
  • table_name表示数据表的名称

在使用LOAD DATA INFILE语句向InnoDB数据表批量导入数据时,被导入的文件中的数据记录最好是按照主键顺序排列的,这样可以提高导入数据的效率。

适用数据库引擎

MyISAM和InnoDB

禁用事务自动提交

InnoDB数据库引擎是支持事务的,可以先禁用事务自动提交,等数据插入完成,再启用事务自动提交。达到提高插入性能。

语法如下
#禁用事务自动提交
SET autocommit = 0;
#开启事务自动提交
SET autocommit = 1;
适用数据库引擎

InnoDB

三、总结

对于MylSAM引擎的表,常见的插入优化方法如下:

  • 禁用索引:对于非空表,插入记录时,MySQL会根据表的索引对插入的记录建立索引.如果插入大量数据,建立索引会降低插入记录的速度.为了解决这种情况可以在插入记录之前禁用索引,数据插入完毕后再开启索引。

对于空表批量导入数据,则不需要进行此操作,因为MylSAM引擎的表是在导入数据之后才建立索引的。

  • 禁用唯一性检查:插入数据时,MySQL会对插入的记录进行唯一性校验.这种唯一性校验也会降低插入记录的速度.为了降低这种情况对查询速度的影响,可以在插入记录之前禁用唯一性检查,等到记录插入完毕后再开启。
  • 批量插入数据:向数据表中插入多条数据时,一次性插入多条比每次插入一条的性能要高出很多。
  • 批量导入数据:使用LOAD DATA INFILE导入数据比用INSERT插入数据的性能高。

对于InnoDB引擎的表,常见的插入优化方法如下:

  • 禁用唯一性检查:插入数据时,MySQL会对插入的记录进行唯一性校验.这种唯一性校验也会降低插入记录的速度.为了降低这种情况对查询速度的影响,可以在插入记录之前禁用唯一性检查,等到记录插入完毕后再开启。
  • 禁用外键检查:插入数据之前执行禁止对外键的检查,数据插入完成之后再恢复对外键的检查。
  • 禁止事务自动提交:InnoDB数据库引擎是支持事务的,可以先禁用事务自动提交,等数据插入完成,再启用事务自动提交。达到提高插入性能。

所以,嗯,这题的答案选。。评论区大声告诉虚竹哥。

四、参考

MySQL进阶技能树–>写优化–>插入优化
SQL快速入门-了解MySQL存储引擎(SQL 小虚竹)

我是虚竹哥,我们明天见~

http://www.yayakq.cn/news/623167/

相关文章:

  • 盘锦做网站的公司网站开发客户需求
  • 网站关键词排名优化做一个属于自己的网页
  • 网站建设设计技术方案模板下载pc端自定义页设计与制作模板
  • 泰安肥城网站建设access 网站开发
  • 开县做网站信息流广告哪个平台好
  • 淘宝的网站怎么做的好处四川建设人才考试官网
  • 好的结构设计网站济南企业制作网站
  • 门户网站建设周期外贸公司名字大全
  • 电子工程网站有哪些专业团队高端网站制作
  • 获取网站后台地址阿里巴巴网站分类导航做全屏
  • 建设部网站造价咨询小程序源码是什么意思
  • 品牌网站建设h5烟台网站推广
  • 建设一个网站需要多长时间做国内网站多少钱
  • 新会住房和城乡建设部网站如何在网站上做网盘
  • 网站开发需要的资源商标logo设计免费生成软件
  • 华强北做电子网站徐州网站建设公司哪个好
  • 网站管理建设总结周村区建设网站
  • 江宁网站建设要多少钱阿里巴巴国际站外贸流程
  • 网站三要西安公司官网制作
  • app网站建设 - 百度wordpress免费的吗
  • 网页制作工具的选择与网站整体风格没有关系做图文链接网站
  • 简述电子商务网站开发的研究意义网站建设个人总结
  • dede模板网站教程网站开发进阶实训报告
  • php做网站怎么布局满洲里建设局网站
  • 织梦园模板网站什么是优化问题
  • 我想建网站找谁wordpress数据库的设置
  • 做餐饮店铺哪个网站北京城乡建设官方网站
  • 怎样在织梦网站建设目录域名ip
  • 企业网站建设公司怎么收费织梦网站最下面的网站建设去除
  • 郑州校园兼职网站建设网站空间租