表示 进入内容 14
Displaying posts with tag: mysql5.7 (reset)
Linux 7下MySQL自启动配置(glibc)

使用glibc编译后的mysql二进制安装方法被广泛使用,因为它和Windows下的zip方式一下,简单几个步骤,配置一下环境即可。而在Linux 7版本中,MySQL的自启动,不再建议将启动脚本存放到/etc/init.d目录中,因此,我们需要手动配置一下基于systemd方式的自启动文件。

【数据存储与数据库】  【linux】  【mysql】  【Oracle】  【配置】  【Server】   …

[获取更多]
MySQL5.7 GTID 浅析

# GTID 简介 GTID (global transaction identifier)在MySQL5.6时引入,GTID是事务的全局唯一标识。GTID结构如下 ``` GTID = source_id:transaction_id ``` source_id:执行事务的原始实例的sever_uuid, 此事务GTID在备库apply时也不变。 transaction_id:事务的

【数据存储与数据库】  【mysql】  【线程】  【阿里技术协会】  【binlog】  【mysql5.7】   …

[获取更多]
mysql 5.7对filesort的优化

mysql 5.7对filesort的优化

当select语句中有ORDER BY子句的时候,有可能会遇到using filesort的情况(explain)。

以下面的表结构和sql语句为例:

CREATE TABLE `tbl` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `a` VARCHAR(255) NOT NULL DEFAULT '',
  `b` VARCHAR(255) DEFAULT NULL,
  `c` CHAR(255) NOT NULL DEFAULT '',
  `d` INT(11) DEFAULT NULL,
  `e` INT(11) DEFAULT NULL,
  `f`  INT(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
SELECT a,b,c FROM tbl WHERE d=1 ORDER BY e DESC

e字段上没有索引,会引发filesort.
不过filesort也并不表示一定就会用到临时文件,即使只在sort buffer中完成排序,在explain的时候,还是会显示filesort。

[获取更多]
mysql 5.7.3 对union all 的优化

mysql 5.7 对union all 的优化

一年的时间过得真快,去年这个时候,哥还在上海看mysql 5.6的feature, 今年就在北京看mysql 5.7的feature了。
mysql的union语句一直是被人广为诟病的,因为它不分青红皂白,总是会创建temporary table, 然后把全部数据写入此临时表,再从中读取数据返回给用户。

其实有些情况下,比如UNION ALL且没有最外层排序条件( top level ORDER BY)的时候,完全可以直接从第一张表里面读取数据返回给用户,再从第二张表里读取数据返回给用户…….没有必要使用临时表。

如果能够做到这一点,可以省去创建,写入,读取临时表的过程,可以节省内存或磁盘空间,同时第一张表的数据可以立刻返回给用户。

[获取更多]
表示 进入内容 14