![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 88
代码菜鸟旺仔
在代码的世界里没有什么做不到的
展开
-
MySQL的语句执行顺序
MySQL的语句执行顺序MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。下面我们来具体分析一下查询处理的每一个阶转载 2015-07-22 18:17:39 · 472 阅读 · 0 评论 -
mysql函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> selec原创 2016-04-14 20:37:33 · 3291 阅读 · 0 评论 -
mysql-5.6.28源码安装 整个安装过程详细教程,详解
先创建普通用户[root@localhost home]# useradd -d /home/sh -m sh[root@localhost home]# passwd sh更改用户 sh 的密码 。新的 密码:无效的密码: 它基于字典单词重新输入新的 密码:passwd: 所有的身份验证令牌已经成功更新。[root@localhost home]# su sh[sh@localh原创 2016-04-25 22:19:04 · 6622 阅读 · 0 评论 -
基于MySQL实现按距离排序、范围查找geoHash
转自http://blog.csdn.net/ghsau/article/details/50591932简介现在几乎所有的O2O应用中都会存在“按范围搜素、离我最近、显示距离”等等类似的功能,那这样的功能是怎么实现的呢?本文提供了基于MySQL的实现方式,同样适用于其它数据库。本文不分析,只讲怎么实现,有关分析的文章可以看参考链接。实现为了方便下面说明,先给出一个转载 2016-04-30 16:19:30 · 18460 阅读 · 5 评论 -
浅谈SQL语句优化经验
(1) 选择最有效率的表名顺序(只在基于规则的seo/' target='_blank'>优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection原创 2016-05-07 13:47:54 · 1464 阅读 · 0 评论 -
mysql数据库设计原则
1) 不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之 间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表 结构的重构提供可能性。2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系原创 2016-04-22 23:55:11 · 2608 阅读 · 0 评论 -
MySQL5.6版本性能调优my.cnf详解
[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-addres原创 2016-04-25 00:19:46 · 14602 阅读 · 0 评论 -
mysql优化配置my.cnf
[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = my原创 2016-08-26 21:08:00 · 787 阅读 · 0 评论 -
Mysql SQL中的where条件,在数据库中提取与应用浅析
1 问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍: 给定一条SQL,如何提原创 2017-03-24 22:22:13 · 2785 阅读 · 0 评论 -
MYSQL 加锁以及死锁分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加原创 2017-03-24 22:21:20 · 689 阅读 · 0 评论 -
mysql 查询理解
1.单表主键查询: 语句:select * fromgmvcsbase.base_file where id='29830957' 执行计划:Id为base_file表的主键,Select_type为simple表示简单的select,没有union和子查询Table为base_file表示输出的行所用的表Type为const表示表最多有一个匹配行,原创 2016-04-13 23:52:41 · 4246 阅读 · 0 评论 -
阿里云服务器ECS磁盘扩容篇
//先卸载旧的磁盘,卸载的时候必须把程序都kill掉,fuser -m /dev/vdb1 这个命令可以查看那些程序pid是在执行的然后找出来kill -9 pid杀掉1、umount /dev/vdb12、fdisk /dev/vdb按下d n p 1 wq3、e2fsck -f /dev/vdb14、resize2fs /dev/vdb1最后是mount /dev/vdb1原创 2016-04-26 22:25:57 · 26735 阅读 · 0 评论 -
mysql-5.6.28主从备份,异地容灾
首先在两台MySQL服务器192.168.1.89(主)和192.168.1.90(备)上安装版本一样的mysql,大家可以参照着点击打开链接去安装安装好以后在192.168.1.89(主)上面的my.cnf文件上面加入以下参数binlog_format = mixedexpire_logs_days = 15//慢sql时间slow_query_log = 1long_query原创 2016-04-26 22:08:51 · 9165 阅读 · 0 评论 -
关于 MySQL LEFT JOIN 你可能需要了解的三点
即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西!ON 子句与 WHERE 子句的不同一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒转载 2015-07-22 18:26:20 · 520 阅读 · 0 评论 -
Mysql 多表联合查询效率分析及优化
1. 多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用',' 如: SELECT * FROM table1 CROSS JOIN table2 SELECT * FROM table1 JOIN table2 SELECT * FROM table1,table2转载 2015-07-22 18:18:42 · 505 阅读 · 0 评论 -
mysql中Where条件中字段顺序的重要性
在用MySQL查询数据库的时候,连接了很多个用,发现非常慢。例如:SELECT … WHERE p.languages_id = 1 AND m.languages_id = 1 AND c.languages_id = 1 AND t.languages_id = 1 AND p.products_id IN (472,474)这样查询需要20多秒,虽然在各个字段上都建立了索引。转载 2015-07-22 18:29:26 · 1588 阅读 · 0 评论 -
mysql语句优化
绝大多数情况下,使用索引可以提高查询的速度,但如果SQL语句使用不恰当的话,索引将无法发挥它应有的作用。下面是应该注意的几个方面。首先,最好是在相同类型的字段间进行比较的操作。在MySQL 3.23版之前,这甚至是一个必须的条件。例如不能将一个建有索引的INT字段和BIGINT字段进行比较;但是作为特殊的情况,在CHAR类型的字段和VARCHAR类型字段的字段大小相同的时候,可以将它们进行比较。其转载 2015-07-22 22:42:57 · 433 阅读 · 0 评论 -
mysql linux源码安装mysql5.6.22
mysql安装三 linux源码安装mysql5.6.22梳理了一下centos上安装mysql的三种方法:一是通过源码安装,二是用通用二进制包,三是通过不同linux release到系统包安装,centos上是RPM包安装。 linux源码安装mysql5.6.22 0[root@host2 ~]# uname -aLinux host2 2.6.32-504转载 2016-01-03 13:32:22 · 1098 阅读 · 0 评论 -
MySQL建表规范与常见问题
一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT UNSIGNED存储IPV4。整形定义中不添加长度,比如使用INT,而不是INT(4)。使转载 2016-02-01 16:09:23 · 1439 阅读 · 0 评论 -
mysql日志详细解析
MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。错误日志在mysql数转载 2016-03-16 21:14:52 · 659 阅读 · 0 评论 -
MYSQL数据库隔离级别分析
数据库隔离级别有四种,应用《高性能mysql》一书中的说明: 然后说说修改事务隔离级别的方法:1.全局修改,修改mysql.ini配置文件,在最后加上1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.2 [mysqld]3 transactio转载 2016-03-11 14:05:12 · 656 阅读 · 0 评论 -
MySQL存储过程详解及mysql基本函数
mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存转载 2016-03-26 16:27:51 · 1368 阅读 · 0 评论 -
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock'
今天服务器遇到了一个很熟悉的问题输入#mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (111) 随即上网找寻答案 根据大家提供的方法我逐一尝试 方案1. 1.#原创 2017-10-27 22:04:30 · 1892 阅读 · 0 评论