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

自己的电脑做网站服务器 买的服务器 速度哪里需要人做钓鱼网站

自己的电脑做网站服务器 买的服务器 速度,哪里需要人做钓鱼网站,有没有网站是免费做店招图片的,优化设计六年级上册语文答案前言 本文主要讲述不同SQL语句的优化策略。 SQL | DML语句 insert语句 插入数据的时候,改为批量插入 插入数据的时候,按照主键顺序插入 大批量插入数据的时候(百万),用load指令,从本地文件载入&#x…

前言

本文主要讲述不同SQL语句的优化策略。

SQL | DML语句

insert语句

  • 插入数据的时候,改为批量插入

  • 插入数据的时候,按照主键顺序插入

  • 大批量插入数据的时候(百万),用load指令,从本地文件载入(需要在全局变量中开启,从而允许load指令)

update

注意更新语句的检索条件,尽量选择有索引的列;尽量选择主键索引。

  • 当使用索引的时候:InnoDB引擎下执行update语句,添加的是行锁;当使用主键索引的时候,能减少回表查询
# 该事务下使用的锁是:行锁
update course set name = 'javaEE' where id = 1;
  • 当没有索引或者索引失效的时候,会从行锁升级为表锁:
# 该事务下使用的锁是:表锁
update course set name = 'SpringBoot' where name = 'PHP' ;

SQL | DQL语句

order by

MySQL的排序有两种方式,尽量使用Using index

  • Using filesort:将满足条件的数据行放到sort buffer中完成排序操作。使用索引或不使用索引的情况,都有可能出现该种排序方式

  • Using index:通过有序索引,按照顺序扫描,直接返回有序数据,不需要额外排序。效率要高于Using filesort

不同场景下,会选用不同的排序方式,也有某些场景,两种排序方式都存在。


使用Using filesort的情况

  • 无索引排序
  • 多列排序,各列都单独创建索引
# 无索引
explain select id,age,phone from tb_user order by age;
explain select id,age,phone from tb_user order by age, phone;# 多列排序,均为单列索引
explain select id,age,phone from tb_user order by age, phone;

使用Using index的情况

  • 单列排序,有单列索引
  • 联合索引正常使用
# 单列索引
explain select age from tb_user order by age;# 联合索引正常使用。给(age、phone)创建联合索引
explain select id,age,phone from tb_user order by age;
explain select id,age,phone from tb_user order by age, phone;

其他情况

# 给(age、phone)创建联合索引# Using index; Using filesort
explain select id,age,phone from tb_user order by phone;
explain select id,age,phone from tb_user order by phone, age;# Backward index scan; Using index;
explain select id,age,phone from tb_user order by age, phone desc;

联合索引默认是增序的,在MySQL8版本中,可以建立降序索引:

CREATE [UNIQUE | FULLTEXT] INDEX index_name ON table_name(index_col_name asc, index_col_name_2 desc, ...);

group by

在分组操作的时候,通过索引可以提升效率,但是同时也遵循最左匹配原则:

# === 无索引
# Using temporary
explain select profession , count(*) from tb_user group by profession;# === 建立单独索引
# Using index
explain select profession , count(*) from tb_user group by profession;# === 建立联合索引:(profession,age)
# Using index
explain select profession , count(*) from tb_user group by profession;# Using index,Using temporary
explain select age , count(*) from tb_user group by age;

limit

limit查询,查询的数据越往后,时间消耗越大:

# 0.00sec
select * from tb_sku limit 0, 10;# 10.79sec
select * from tb_sku limit 100000, 10;

可以通过:覆盖索引 + 子查询(根据位置分类,属于from后面的子查询;根据返回结果分类,属于列子查询),对SQL进行优化:

explain select * from tb_sku t , (select id from tb_sku order by id limit 2000000,10) a where t.id = a.id;

count

MySQl中统计数量的函数是count()。针对count的优化:

  • 方案1:不使用count,自己计数(难搞)
  • 方案2:合理的选用count用法。效率:count(字段) < count(主键) < count(1) = count(*)

image-20240327180026535

其余 | 主键优化

  • 满足业务的前提下,尽量减低主键的长度
  • 插入数据尽量顺主键插入,可以选择自增主键
  • 尽量不要用uuid或身份证号作为主键,插入数据不具备排序性质
  • 业务操作,避免对主键进行修改
http://www.yayakq.cn/news/383144/

相关文章:

  • 济南城市建设集团网站国外好的网站空间
  • 外贸手机网站模板英德市建设局网站
  • 沈阳企业建站系统模板如何在网上做自己的网站
  • 中国医院建设协会网站首页wordpress如何修改主题名称
  • 网络电子商务购物网站有效的引流推广方法
  • 网站怎么会k济南建网站公司
  • 公司网站建设功能介绍杭州网站建设|网站设计
  • 改图网网站谁做的深圳seo排名优化
  • 网站个人简介怎么做wordpress删除 自豪的
  • 网站模板网一线城市做网站工资有多少
  • 怎么做算命网站dedecms怎么关闭网站
  • 绵阳做网站公司求生之路2怎么做非官方网站
  • 企业网站 哪个cms好制作网站专业
  • 手机网站有免费做的吗沂水做网站
  • 零配件加工东莞网站建设技术支持什么是网络营销与策划
  • 奇信建设集团官方网站海报设计在线生成免费
  • 邯郸网站设计 贝壳下拉正能量晚上看的网站2021
  • 做网站龙头怎么写网站建设的说明书
  • 网站建设与维护的不足找外贸客户的网站
  • 静态网站怎么做留言板四川建设网官网电话
  • 石家庄网站服务爱网站排行
  • 优质的网站建设程序开发是什么工作
  • 建设网站审核建设网络平台的核心竞争力
  • 做一个网站都需要什么福州高端网站建设服务网络公司
  • 电商运营网站设计崇明注册公司
  • 廊坊建设部网站未经网安备案开设网站的
  • 象山县建设局网站网站建设市场需求分析
  • 住房住房和城乡建设厅网站淘宝可以在哪些网站上面打做推广
  • 轻松筹网站可以做吗一家专门做特产的网站
  • 在线教育网站用什么做人力资源公司怎么开