执行计划,SQL语句过来,会先解析,词法解析,语法解析,之后生成执行计划,计划上会算出使用全盘扫秒还是依靠索引,

mysql不缓冲执行计划,oracle有

体系结构

1、优化器---》执行计划

2、MySQL不缓存执行计划(硬解析:用cpu来解析;软解析:采用执行计划来解析)

3、MySQL8.0以后,query cache就被去掉了(如果数据发生更改,就需要所有数据都刷新一下,query cache就得全刷新一下,所以把他在8.0去掉了)

4、MySQL数据库存储引擎Innodb以聚簇索引方式存储为聚簇表,不要求非空且唯一列。

5、Innodb buffer pool以LRU链表方式存储数据。

6、Innodb buffer pool缓冲数据和索引。

在它中有一个缓冲区域change buffer,他会把同类的数据改变先存放于此处,不去进行即时的更改,而是等这个区域的数据满了或者收到了读的操作时候他才会进行数据更改,以此减少了去更改的频率,提高了性能的利用率。(1、修改的数据为唯一索引列时候,change buffer失效。因为修改唯一索引,需要先去查是否有重复索引,没有的话菜放进去change buffer,有查的功夫还不如直接放进去。2、change buffer也不适合即改即读的操作)

唯一索引:修改时候要判断唯一性!(内存相差微乎其微)

普通索引:修改时候不需要读取记录!      这个更胜一筹!!!

7、Redo日志不可以归档

8、但是Redo可以有自己的commit提交规则,他可以设置inndb_flush_log_at_trx_commit为1,0,2,1为每提交一次就刷新一次盘,0为没1秒刷新一次,2为每一秒钟就刷新一次,把数据刷到本地磁盘(可以防止数据库宕机)。

9、每个用户都会有自己的join,sort,multi,range(MRR)。

10、concat、concat_ws、group_concat函数用法和区别:

一:concat()函数可以连接一个或者多个字符串

concat(str1,str2,…) 返回结果为所有连接参数产生的一个字符串。如有任何一个参数为NULL ,则返回值NULL。

示例:select concat('aa','bb','cc');

结果:aabbcc

二:concat_ws(separator,str1,str2,...)

是concat()的特殊形式。第一个参数是其它参数连接的分隔符。分隔符是放在要连接的所有字符串之间。分隔符可以是一个字符串,也可以是其它参数。

示例:select concat_ws(',','aa','bb','cc');

结果:aa,bb,cc

三:group_concat()分组拼接函数

用法:group_concat([distinct] 连接字段 [order by asc/desc 排序字段] [Separator '分隔符'])

对下面的一组数据使用 group_concat()

表如下:

示例一:

示例二:

示例三:

示例四:

11、char_length和length

总结一下就是说,无论是LENGTH()还是CHAR_LENGTH()都是为了统计字符串的长度。只不过,LENGTH()是按照字节来统计的,CHAR_LENGTH()是按照字符来统计的。例如:一个包含5个字符且每个字符占两个字节的字符串而言,LENGTH()返回长度10,CHAR_LENGTH()返回长度是5;如果对于单字节的字符,则两者返回结果相同。

12、user()和current_user()

user()

表示当前的登录用户

current_user()

表示对应于mysql.user表里对应的账号。

mysql> select user();

+----------------------+

| user() |

+----------------------+

| test@192.168.203.132 |

+----------------------+

1 row in set (0.00 sec)

mysql> select current_user();

+------------------+

| current_user() |

+------------------+

| test@192.168.%.% |

+------------------+

1 row in set (0.00 sec)

user()是用来显示当前登陆的用户名与它对应的host;currrent_user()是用来显示当前登陆用户对应在user表中的哪一个。

13、获取当前日期的函数:CURDATE()。DATE为数据类型。

14、mysql存数据和索引的地方*.ibd *  数据修改超过百分之十时候会进行信息的统计,放在.frm

analyze table test1;查看test1的统计信息

show index from test1;展示有索引的列

个性签名:一个人在年轻的时候浪费自己的才华与天赋是一件非常可惜的事情

如果觉得这篇文章对你有小小的帮助的话,记得在左下角点个“

mysql+优化器+软解析_MySQL执行计划 - osc_93u9qofu的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. mysql查询去重第一条_Mysql用法记录 - Ashley-OSCHINA的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.查询某个字段,在数据库不重复的条数(去重查询) select count(distinct item_uid) from supply_order; 查询 表 supply_order 中 ite ...

  2. mysql中级_mysql中级操作 - osc_mi06gsf5的个人空间 - OSCHINA - 中文开源技术交流社区...

    解析sql执行过程 show VARIABLES like '%profil%' //查看是否开启了剖析 如没开启set profiling=1; 启用 show profiles; set @que ...

  3. mysql 重做日志 镜像_mysql重做日志 - osc_vr7hvjd2的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.重做日志(redo log) 1.作用 确保事务的持久性. 防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性. 2 ...

  4. mysql 4000行记录有必要建索引吗_MySQL 使用规范 - miaojiangmin的个人空间 - OSCHINA - 中文开源技术交流社区...

    MySQL 使用规范 以下规范适用在线交易(OLTP)系统的数据库.数据仓库与分析系统也可以参考. 命名规范 表名.字段名.索引名使用小写字母.数字,采用下划线分割 表名采用模块名3个缩小字符_前缀, ...

  5. mysql注入总结_mysql注入总结 - osc_wpg0dgym的个人空间 - OSCHINA - 中文开源技术交流社区...

    前言:看玩mysql注入 做一篇总结然后去打GTA 5 正文: mysql注入与access注入不一样.因为数据库的特性不一样 access注入的暴力注入 mysql是有逻辑性的注入 首先得判断是什么 ...

  6. 空间搭建mysql环境_MySQL环境搭建 - osc_mgt0rm0m的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.安装依赖和拓展 1.安装 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get inst ...

  7. mysql v8 漏洞_mysql'密码安全 - osc_v8gts6gd的个人空间 - OSCHINA - 中文开源技术交流社区...

    MYSQL数据库的安全配置 MYSQL密码的修改与恢复 MYSQL数据库密码的修改 Mysql5.7以下默认root登录密码为空,安装完成之后首先需要修改root的登录密码. # mysqladm – ...

  8. mysql部署练习_MySQL主从练习 - osc_b9r67jnt的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.按照1核CPU.4G内存.40G硬盘创建两台名为node-1和node-2的云主机. 2.在公有云中完成一个名为intnetX的内部网络为192.168.X.0的云主机网络区域配置,将该网络网关设 ...

  9. mysql导出七张表成dtf文件_MySQL的数据类型 - osc_96dtf5e4的个人空间 - OSCHINA - 中文开源技术交流社区...

    类型 大小 特点 优点 用途 CHAR 0-255字节 定长 效率高,消耗空间 定长字符串 VARCHAR 0-65535 字节 可变长度 效率低,节省空间 变长字符串 BLOB 0-65 535字节 ...

最新文章

  1. 堆和栈的区别(面试经验总结)
  2. 5训练需要更改参数吗_PM2.5和臭氧需要协同控制吗?
  3. 【深度学习】图像自动处理工具SimpleITK的使用(Python)
  4. python基础30个常用代码大全-Python基础小题汇总
  5. 前端实习生笔试_一道来自美图的实习生前端笔试算法题
  6. 利用python下载网页到本地(python3)
  7. 建议收藏!最新的(2019年)电子/计算机领域SCI期刊影响因子大全
  8. Kafka分区分配策略(Partition Assignment Strategy)
  9. MFC+OPENCV+显示MAT类型图像
  10. 本地修改指向服务器,本地修改指向服务器
  11. python挖矿_python简易版挖矿小游戏
  12. mysql查询无主键的表的方法:
  13. maven使用openjdk_openjdk8指定版本安装(maven指定版本安装)
  14. 阿里云创客+千人创投会 无人机项目夺冠
  15. linux转到工作目录,linux工作目录切换命令
  16. python求梯形面积_python计算梯形面积
  17. 读书百客:《十一月四日风雨大作》评赏
  18. zynq7020的arm A9核降频实录
  19. 被放逐的皇后 金建云
  20. JavaScript 内存溢出解决办法 亲测有效

热门文章

  1. gatling简单使用说明
  2. 2019最新传智黑马web前端开发(系统学前端)
  3. 毕业一年,回顾一下自己与刚毕业的变化
  4. 如何知道该不该接受创业公司的工作?
  5. navicat mysql 如何执行脚本
  6. Redisson实现分布式锁(3)—项目落地实现
  7. JavaScript中字符串与Unicode编码的互相转换
  8. kali下载地址和安装方法
  9. java多线程模拟购买火车票
  10. 上百本中文书籍中对《人月神话》的引用(8)