MySQL
TomAndersen
新目标:喜欢上读书
展开
-
Hive之中文乱码问题
前言Hive:2.3.0Hadoop:2.7.7MySQL Server:5.7.10OS:CentOS 7本文主要演示如何解决Hive注释内容(即COMMENT)中出现中文乱码的问题原因Hive中的表字段等注释信息都存储在元数据库metastore中(本文中的元数据存储在MySQL的hive_db数据库中),当使用desc命令查看表字段的注释信息时,Hive会直接读取元数据库中的hive_db.COLUMNS_V2表,同样的修改元数据库中此表中的内容会直接反馈到desc的查询结果中。故原创 2020-06-13 17:21:50 · 1294 阅读 · 0 评论 -
MySQL之实现免密登录(设置默认登录用户及密码)
前言MySQL版本:5.7.10本文介绍的免密登录方式的原理就是在配置文件中设置mysql客户端命令行工具的默认参数,实现登录时可以直接使用设置参数进行登录,相当于设置了默认登录用户,并且只在修改了配置文件的主机上使用MySQL客户端登录时才有效查看配置配置文件生效顺序使用mysql --help命令可以输出mysql命令行工具的使用帮助手册,其中Default options are read from the following files in the given order:字样的后续原创 2020-06-13 11:13:41 · 2963 阅读 · 2 评论 -
SQL求解TopK问题
前言本文主要用于记录TopK问题的一些简答的SQL解法。如果读者有更好的解法,或者觉得博主方法存在缺陷,欢迎在评论区交流。测试用表表结构:CREATE TABLE employees( `employee_id` int(6) NOT NULL auto_increment, -- '员工编号' `salary` double(10,2) DEFAULT NULL,-- '月薪' `department_id` int(6) DEFAULT NULL, -- '部门ID原创 2020-05-31 17:19:45 · 1481 阅读 · 0 评论 -
MySQL中distinct和group by去重性能对比
前言MySQL:5.7.17存储引擎:InnoDB实验目的:本文主要测试在某字段有无索引、各种不同值个数情况下,记录对此字段其使用DISTINCT/GROUP BY去重的查询语句执行时间,对比两者在不同场景下的去重性能,实验过程中关闭MySQL查询缓存。实验表格:表名记录数查询字段有无索引查询字段不同值个数DISTINCTGROUP BYtab_1100000N3tab_2100000Y3tab_3100000N10000原创 2020-05-28 21:12:38 · 872 阅读 · 0 评论 -
MySQL中各SQL子句的逻辑执行顺序
前言本文节选自《MySQL技术内幕:SQL编程》3.1 逻辑查询处理本文说明的执行顺序只是一种逻辑顺序,并不是MySQL中SQL查询语句的实际执行过程。MySQL在实际执行SQL语句时,由于MySQL Optimizer优化器的存在,会将SQL子句的执行顺序和过程朝着MySQL所认为的最优路径进行优化(实际上并不一定是最优)。要想确定SQL语句在MySQL的实际执行顺序,可以使用Explai...原创 2020-05-01 19:03:02 · 1165 阅读 · 0 评论 -
MyISAM和InnoDB的几点区别
InnoDB和MyISAM存储引擎的几点区别1. 事务InnoDB支持事务,默认情况下InnoDB会自动将对数据修改的单条SQL语句封装成事务,并进行进行自动提交;MyISAM不支持事务2. 索引组织方式InnoDB中索引默认的数据结构为B+Tree,且索引的组织方式为聚集索引,即表中的索引和具体的行数据存储在同一个文件中;MyISAM中索引默认的数据结构也为B+Tree,索引的组织...原创 2020-05-01 19:01:48 · 189 阅读 · 0 评论 -
MySQL中Explain关键字输出字段简介
前言本文中MySQL版本:5.7.10MySQL 5.7官方参考手册:EXPLAIN Output FormatExplain输出字段id列此列总是包含一个编号,可以简单理解为SELECT子句执行或者表的读取顺序,对于id号相同的查询按序从上到下执行,对于id号不同的查询按id号从大到小的顺序执行。id列的编号从1开始,若没有子查询SUBQUERY或者联合查询UNION,则Exp...原创 2020-05-01 17:15:43 · 447 阅读 · 0 评论 -
MySQL之常见的日志文件
前言日志文件记录了影响MySQL数据库的各种类型活动,这些日志文件可以帮助DBA对MySQL数据库的运行情况进行诊断,从而更好地进行数据库层面的优化。MySQL数据库中常见的日志文件有:错误日志(error log)二进制日志(binlog)慢查询日志(slow query log)查询日志(general log)1. 错误日志错误日志(error log)对MySQL的启动...原创 2020-04-30 10:14:17 · 421 阅读 · 0 评论 -
MySQL之常用的命令行工具
前言MySQL版本:5.7.17本次主要演示Linux上mysql命令行工具的使用,Windows上的使用方式大同小异MySQL常用命令行工具MySQL常用的命令行工具主要分为客户端命令行工具和服务器命令行工具两种,分别只能运行在mysql客户端和mysql服务器上,即mysql中的客户端命令行工具使用时需要设置登录选项,而服务器命令行工具可以在服务器上直接使用1. mysql客户...原创 2020-04-29 17:39:56 · 2721 阅读 · 0 评论 -
MySQL入门级安装教程
前言MySQL版本:5.7.17MySQL压缩包:mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz操作系统:CentOS-7-x86_64Windows上MySQL安装可直接使用Windows MSI Installer进行安装(安装参考教程)下载安装包社区版:下载地址Product Version:5.7.10Operat...原创 2020-04-28 09:13:58 · 292 阅读 · 0 评论 -
MySQL之慢查询日志使用入门教程
前言MySQL版本:5.7.17本文中只展示了部分MySQL命令示例,相关参数配置同样可以在MySQL配置文件中进行设置各平台各版本的MySQL操作方式也许各有不同,本文仅供参考,如果错误之处,欢迎指正1. 慢查询日志的功能及主要参数1.1 功能慢查询日志(slow query log)能够记录执行时间超过某阈值的SQL语句,且只记录成功执行的SQL语句。慢查询日志文件存储在My...原创 2020-04-25 18:32:28 · 282 阅读 · 0 评论 -
MySQL之常用的数据处理函数
前言不同的DBMS软件中支持的自带默认函数存在些许不同,本文主要介绍一下大多数情况下都支持的自带默认函数本文中的内容大都节选自《MySQL必知必会》第11章节,编写本文目的主要是做个小总结,有兴趣者可以下载(ktx8)查看1.文本处理函数函数说明Left(str,len)用于返回字符串左侧开始指定长度的子串Right(str,len)用于返回字符串右侧...原创 2020-04-06 10:10:57 · 359 阅读 · 0 评论