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

qq企业邮箱官网沈阳黑酷做网站建设优化公司怎么样

qq企业邮箱官网,沈阳黑酷做网站建设优化公司怎么样,软件系统开发与设计,直接打开百度索引分类 分类含义特定关键字主键索引针对于表中主键创建的索引默认自动创建#xff0c;只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以有多个UNIQUE常规索引快速定位特定数据可以有多个全文索引全文索引查找的文本中的关键字#xff0c;而不是比较索引中的…索引分类 分类含义特定关键字主键索引针对于表中主键创建的索引默认自动创建只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以有多个UNIQUE常规索引快速定位特定数据可以有多个全文索引全文索引查找的文本中的关键字而不是比较索引中的值可以有多个FULLTEXT 在innodb存储引擎中根据索引的存储形式又可以分为一下两种 分类含义特点聚焦索引将数据存储与索引放到了一块索引结构的叶子节点保存了行数据必须有且只有一个二级索引将数据与索引分开存储索引结构的叶子节点关联的是对应的主键可以存在多个 聚集索引选取规则 如果存在主键主键索引就是聚集索引 如果不存在主键将使用第一个唯一unique索引作为聚集索引 如果表没有主键或没有合适的唯一索引则innodb会自动生成一个rowid作为隐藏的聚集索引 聚集索引的叶子节点下挂的是这一行的数据 。 二级索引的叶子节点下挂的是该字段值对应的主键值。 思考题以下两条SQL语句那个执行效率高? 为什么? A. select * from user where id 10 ; B. select * from user where name Arm ; 备注: id为主键name字段创建的有索引 答A 语句的执行性能要高于B 语句。 因为A语句直接走聚集索引直接返回数据。 而B语句需要先查询name字段的二级索引然 后再查询聚集索引也就是需要进行回表查询。 索引语法 创建索引 create [unique|fulltext] index index_name on table_name (index_col_name,..); 查看索引 show index from table_name; 删除索引 drop index index_name on table_name; 演示数据 create table tb_user( id int primary key auto_increment comment 主键, name varchar(50) not null comment 用户名, phone varchar(11) not null comment 手机号, email varchar(100) comment 邮箱, profession varchar(11) comment 专业, age tinyint unsigned comment 年龄, gender char(1) comment 性别 , 1: 男, 2: 女, status char(1) comment 状态, createtime datetime comment 创建时间 ) comment 系统用户表;INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (吕布, 17799990000, lvbu666163.com, 软件工程, 23, 1, 6, 2001-02-02 00:00:00); INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (曹操, 17799990001, caocao666qq.com, 通讯工程, 33, 1, 0, 2001-03-05 00:00:00); INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (赵云, 17799990002, 17799990139.com, 英语, 34, 1, 2, 2002-03-02 00:00:00); INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (孙悟空, 17799990003, 17799990sina.com, 工程造价, 54, 1, 0, 2001-07-02 00:00:00); INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (花木兰, 17799990004, 19980729sina.com, 软件工程, 23, 2, 1, 2001-04-22 00:00:00); INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES (大乔, 17799990005, daqiao666sina.com, 舞蹈, 22, 2, 0, 2001-02-07 00:00:00);1.name字段为姓名字段该字段的值可能会重复为该字段创建索引 create index idx_user_name on tb_user(name); 2.phone手机号字段的值是非空且唯一的为该字段创建唯一索引 create unique index idx_user_phone on tb_user(phone); 3.为professionagestatus创建联合索引 create index idx_user_pro_age_sta on tb_user(profession,age,status); 4.为email建立合适的索引来提升查询效率 create index idx_user_email on tb_user(email); SQL性能分析 SQL执行频率 MySQL 客户端连接成功后通过 show [session|global] status 命令可以提供服务器状态信 息。通过如下指令可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次 -- session 是查看当前会话 ; -- global 是查询全局数据 ; SHOW GLOBAL STATUS LIKE Com_______; Com_delete: 删除次数 Com_insert: 插入次数 Com_select: 查询次数 Com_update: 更新次数 慢查询日志 慢查询日志记录了所有执行时间超过指定参数long_query_time单位秒默认10秒的所有 SQL语句的日志。 MySQL的慢查询日志默认没有开启我们可以查看一下系统变量 show variables like slow_query_log; 开启慢查询日志需要在MySQL的配置文件/etc/my.cnf中配置如下信息 [rootserver ~]# vim /etc/my.cnf#开启MySQL慢日志查询开关 slow_query_log1 # 设置慢日志的时间为2秒SQL语句执行时间超过2秒就会视为慢查询记录慢查询日志 long_query_time2 [rootserver ~]# cd /var/lib/mysql [rootserver mysql]# ll -rw-r-----. 1 mysql mysql 179 Jan 28 16:13 server-slow.log [rootserver mysql]# cat server-slow.log /usr/sbin/mysqld, Version: 8.0.35 (MySQL Community Server - GPL). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument #如果查询时间超过两秒便可以在此显示 [rootserver mysql]# tail -f server-slow.log /usr/sbin/mysqld, Version: 8.0.35 (MySQL Community Server - GPL). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument profile详细 show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过have_profiling 参数能够看到当前MySQL是否支持profile操作 select have_profiling; #YES select profiling; #0通过set语句在session/global级别开启profilingSET profiling 1;#查询执行语句耗时情况show profiles ;#查看指定query_id的sql语句各个阶段的耗时情况show profile for query 88;# 查看指定query_id的SQL语句CPU的使用情况show profile cpu for query 88; explain执行计划 EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息包括在 SELECT 语句执行 过程中表如何连接和连接的顺序。 #直接在select语句之前加上关键字 explain / desc EXPLAIN SELECT 字段列表 FROM 表名 WHERE 条件 ;desc select * from tb_user where id 1; explain select * from tb_user where id 1; 字段含义idselect查询的序列号表示查询中执行select子句或者是操作表的顺序 (id相同执行顺序从上到下id不同值越大越先执行)。select_type表示 SELECT 的类型常见的取值有 SIMPLE简单表即不使用表连接 或者子查询、PRIMARY主查询即外层的查询、 UNIONUNION 中的第二个或者后面的查询语句、 SUBQUERYSELECT/WHERE之后包含了子查询等type表示连接类型性能由好到差的连接类型为NULL、system、const、 eq_ref、ref、range、 index、all 。possible_key显示可能应用在这张表上的索引一个或多个。key实际使用的索引如果为NULL则没有使用索引。key_len表示索引中使用的字节数 该值为索引字段最大可能长度并非实际使用长 度在不损失精确性的前提下 长度越短越好 。rowsMySQL认为必须要执行查询的行数在innodb引擎的表中是一个估计值 可能并不总是准确的。filtered表示返回结果的行数占需读取行数的百分比 filtered 的值越大越好。
http://www.pierceye.com/news/438196/

相关文章:

  • 长沙电商网站制作网页设计模板素材旅游
  • 阿里巴巴 网站 建设wordpress支付宝红包
  • 如何建一个企业网站网站建设方案保障措施
  • 网站制作工作室24小时接单一起做网站
  • 专业购物网站建设多少钱搜索引擎推广的基本方法
  • 高端手机网站建设需要多少钱五金制品东莞网站建设
  • 网站运营与维护是什么意思出入成都最新规定今天
  • 网站建设 企炬江阴企业形象包装公司
  • 移动网站开发公司免费的视频网站推广软件
  • 深圳网站定制公司宝应网站建设
  • 哈尔滨 做网站公司淮南发布app下载
  • 能发朋友圈的网站建设语不同类型网站比较及网站域名设计
  • 企业融资只有两种方法seo包括网站建设吗
  • 网站制作简单协议深圳市宝安区中医院
  • 中山骏域网站建设求2021没封的良心网站
  • 域名空间网站建设要多少钱全屋定制设计流程
  • 建设网站的网站江苏旅游网站开发设计与实现
  • 河北辛集住房和城乡建设厅网站购车网站开发数据库er图
  • 简单flash个人网站网站服务器和直播服务器一样吗
  • 教育网站建设需求文档门户网站系统建设清单
  • 天津市建设与管理局网站建筑网建设通平台
  • 长沙网站开发微联讯点官网微信公众号直接同步到wordpress
  • 湖南建设监理官方网站属于网页制作平台的是?
  • 如何建设公司网站知乎湖南自驾旅游与房车协会
  • 扬中网站优化做 爱 网站视频教程
  • 服务器发布网站免费网络营销推广软件
  • 婚纱摄影类网站重庆seo招聘
  • 登陆空间商网站建站模板免费下载
  • 用php做网站用什么框架牡丹江免费发布信息的平台
  • 网站开发 专有名词江油移动网站建设