MySQL
常用的MySQL数据库知识。
小白不菜、
目前在华中科技大学读研究生。微信公众号:编程技术园;个人网站:http://hellofriend.top 欢迎来访!
展开
-
MySQL之截取查询分析
更多知识,请移步我的小破站:http://hellofriend.top慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。(默认关闭)具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条s.原创 2020-06-01 23:23:43 · 225 阅读 · 0 评论 -
MySQL之排序分组的索引优化
更多知识,请移步我的小破站:http://hellofriend.top排序优化ORDER BY子句,尽量使用Index方式(索引)排序,避免使用FileSort方式(手工)排序。技巧:无过滤,不索引;顺序错,必手工排序;方向反,必手工排序;要想Order BY使用到索引,必须要添加过滤条件(where子句对索引中的字段进行过滤,而且必须按照顺序),Limit分页也行。在SQL语句中的顺序一定要和定义索引中的字段顺序完全一致。要么全升序、要么全降序。有升有降无法使用索引。案例SE.原创 2020-05-30 20:22:33 · 1738 阅读 · 0 评论 -
MySQL之索引查询优化
1. 单表查询优化注意使用复合索引的效果会大于使用单个字段索引(但是要注意顺序)。查询条件时要按照索引中的定义顺序进行匹配。如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描存储引擎不能使用索引中范围条件右边的列,范围查询的列在定义索引的时候,应该放在最后面。mysql 在使用不等于(!= 或者<>)的时候无法使用索引会导致全表扫描。is not nu原创 2020-05-28 00:32:04 · 345 阅读 · 0 评论 -
超详细的MySQL性能分析(Explain)
1. 概述使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。通过Explain,我们可以获取以下信息:表的读取顺序哪些索引可以使用数据读取操作的操作类型哪些索引被实际使用表之间的引用每张表有多少行被物理查询2. 怎样获取SQL语句的执行计划?Explain + SQL语句举例EXPLAIN SELECT * FROM USER;执行计划所包含的信息3. 执行计划各个名词字段的解原创 2020-05-26 13:26:56 · 2292 阅读 · 0 评论 -
通俗讲解数据库索引
更多知识,请移步我的小破站:http://hellofriend.top前言提起索引我想你应该不陌生,当我们查阅一本大部头的时候我们应该如何快速的找到想要的内容呢?很简单,先找目录,通过目录我们就可以了解到我们要找的内容在书中的什么地方,而这个目录就担任着索引的功能。相同,数据库为了能快速的寻找到指定的数据必须要建立索引。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加...原创 2020-05-07 14:05:31 · 345 阅读 · 0 评论 -
深入剖析数据库底层设计
1. 前言说到数据库这个词,我只能用爱恨交加这个词来形容它。两年前在自己还单纯懵懂的时候进了数据库的课堂,听完数据库的课,觉得这是一门再简单不过的课程,任何一门编程语言都比SQL要晦涩难懂,任何一门理论课程都比数据库关系要复杂得多。直到从被面试官按在地上摩擦,到工作中那一条条令人发指的慢查询SQL,这就已经完全颠覆了我对数据库的看法。在有各种数据库工具的今天,我们是看不到那简单到不能再简单的一张...原创 2020-05-03 23:16:27 · 1805 阅读 · 3 评论 -
通俗易懂的MySQL事务隔离
事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。 仅从其定义来看,你可能难以理解什么是事物,接下来我们举个经典例子来说明事务的用途:用户A向用户B转账,我们需要进行以下操作:从A账户中把余额读出来;对A账户做减法操作;把结果写回A账户中;从B账户中把余额读出来;对B账户做加法操作;把结果写回B账户中。在以上这些操作中需要保证所有操作是一个整...原创 2020-03-23 23:37:34 · 1201 阅读 · 0 评论 -
Windows无法启动MySQL服务,报错1067的解决方法
更多知识,请移步我的小破站:http://hellofriend.top近日,在使用MySQL时发现无法启动MySQL服务且报错1067,追查一番后,将问题的源头锁定在mysql.user表上。原因是误删或者清理了data 中的user.frm,user.MYD,user.MYI这3个文件,记不清后缀没关系,只用知道是user开头的文件缺失就行。解决方法1.找到MySQL安装目录下的user...原创 2020-04-10 20:07:00 · 9994 阅读 · 3 评论 -
连接MySQL报错Access denied for user 'root'@'localhost' (using password: YES)解决办法
更多知识,请移步我的小破站:http://hellofriend.top在使用SQLyog连接数据库时,报错Access denied for user ‘root’@‘localhost’ (using password: YES)。从错误信息我们可以看出, 密码输入确定是对的。解决步骤打开MySQL安装目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables...原创 2020-04-11 23:14:31 · 1548 阅读 · 1 评论 -
已解决:mysql安装在D盘,已经配置了环境变量,却还是无法通过cmd命令行启动
已解决:mysql安装在D盘,已经配置了环境变量,却还是无法通过cmd命令行启动Windows10系统,将mysql安装在D盘,已经配置了环境变量,却还是无法通过cmd命令行启动,原因是由于win10系统的权限问题,win10对权限的控制更加严格了。解决办法:先去c盘目录下找到cmd的位置,一般在c:/windows/system32/cmd。把cmd添加桌面快捷方式,然后再到桌面点击右...原创 2019-12-06 22:39:46 · 11652 阅读 · 11 评论