mysql
文章平均质量分 63
qq_duhai
好记性不如烂笔头...
展开
-
图解 SQL 执行顺序,通俗易懂!
我们先执行from,join来确定表之间的连接关系,得到初步的数据where对数据进行普通的初步的筛选group by 分组各组分别执行having中的普通筛选或者聚合函数筛选。然后把再根据我们要的数据进行select,可以是普通字段查询也可以是获取聚合函数的查询结果,如果是集合函数,select的查询结果会新增一条字段将查询结果去重distinct最后合并各组的查询结果,按照order by的条件进行排序我们在理解SELECT语法的时候,还需要了解SELECT执行时的底层原理。转载 2023-07-20 14:10:42 · 546 阅读 · 0 评论 -
MySQL 关于性能的参数配置梳理
以下List是我们常见的MySQL参数配置,这个参数对提高实例的性能大有裨益。其中 建议设置值,仅供参考,需要根据自己的业务场景和硬件资源仔细推敲。重用保存在缓存中线程的数量:如果Threads_created值过大MySQL服务器一直在创建线程,比较耗资源,可以适当增加配置文件中thread_cache_size值。缓存命中率:Thread_Cache_Hit = (Connections - Threads_created) / Connections * 100%;...转载 2022-07-12 10:19:53 · 295 阅读 · 0 评论 -
如何在MySQL中分配innodb_buffer_pool_size
是整个MySQL服务器最重要的变量。在MySQL5.5之前,广泛使用的和默认的存储引擎是MyISAM。MyISAM使用操作系统缓存来缓存数据。InnoDB需要innodb buffer pool中处理缓存。所以非常需要有足够的InnoDB buffer pool空间。数据缓存 InnoDB数据页面索引缓存 索引数据缓冲数据 脏页(在内存中修改尚未刷新(写入)到磁盘的数据)内部结构 如自适应哈希索引,行锁等。默认大小为128M。最大值取决于CPU的架构。在32-bit平台上,最大值为,在64-bit平转载 2022-07-12 09:17:06 · 548 阅读 · 0 评论 -
mysql版本升级
升级数据库停止数据库[root@WHDSJ068 init.d]# /etc/init.d/mysqld stopShutting down MySQL.... [ OK ]解压新的mysql包[root@test bin]# tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz将旧的mysql的bin目录备份打包[root@test bin]# cd /usr/bin[root@test bin]# tar zcf m原创 2022-04-21 16:18:26 · 1662 阅读 · 0 评论 -
sql模糊查询关键字处理
在java 使用sql的模糊查询时:final String key = "%" + name.replaceAll("%", "\\\\%").replaceAll("_", "\\\\_") + "%";polist = deviceDao.findByNameLike(key);需要对关键字%和_进行处理,不然就查不出正确的结果原创 2021-12-06 11:15:21 · 1545 阅读 · 0 评论 -
MySQL的Sleep进程占用大量连接解决方法
MySQL的Sleep进程占用大量连接解决方法链接:http://hi.baidu.com/ratmin/item/eaab88ca9addd425a1b50a74==========================================第一部分为产生大量sleep进程的原理及对应解决方法第二部分为设置wait_timeout值,有效减少sleep进程========转载 2017-07-17 15:59:55 · 1774 阅读 · 0 评论 -
mysql分组取每组前几条记录(排名) 附group by与order by的研究
--按某一字段分组取最大(小)值所在行的数据/*数据如下:name val memoa 2 a2(a的第二个值)a 1 a1--a的第一个值a 3 a3:a的第三个值b 1 b1--b的第一个值b 3 b3:b的第三个值b 2 b2b2b2b2b 4 b4b4b 5转载 2017-11-20 11:32:53 · 1818 阅读 · 0 评论 -
MySQL函数大全及用法示例
1、字符串函数ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); -> 50 mysql> select ascii(2); -> 50 mysql> select ascii('dete'); -> 100 ord(str) 如转载 2017-11-21 09:44:39 · 269 阅读 · 0 评论 -
mysql分组,然后组内排序,最后取每组前2条数据
1.首先根据城市分组,然后查询出点赞数为前2的数据SELECT release_city, SUBSTRING_INDEX( group_concat( dazzle_id ORDER BY week_praise_num DESC ), ',', 2 )FROM sc_dazzle_dazzle_infoWHERE dazzle_state原创 2017-11-21 09:54:50 · 14603 阅读 · 0 评论 -
【MySQL】悲观锁&乐观锁
悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用悲观锁。通常来讲在数据库上的悲观锁需要数据库本身提供...转载 2018-03-08 11:12:24 · 123 阅读 · 0 评论 -
高并发mysql update操作必定失败
======== $database = new medoo(Database::connectdb()); //这个表草鸡简单啊,update$database->update('visits', array( 'total[+]' => 1 ...转载 2018-03-08 15:47:44 · 3591 阅读 · 2 评论 -
MySQL中的索引详讲
https://www.cnblogs.com/whgk/p/6179612.html序言 之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些复杂的查询,就够了,但是我认为,不管有没有用,现在学着不懂的东西,说明就是自己薄弱的地方,多学才能比别人更强 ...转载 2018-03-15 14:29:25 · 248 阅读 · 0 评论 -
CentOS-7-64bit 配置Apache + MySQL + PHP
一、配置防火墙,开启80端口、3306端口CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。1、关闭firewall:#停止firewall服务systemctl stop firewalld.service#禁止firewall开机启动systemctl disable firewalld.转载 2017-01-10 11:41:20 · 208 阅读 · 0 评论 -
CentOS 7 安装 MySQL
环境CentOS 7.1 (64-bit system)MySQL 5.6.24CentOS 安装参考:http://www.waylau.com/centos-7-installation-and-configuration/依赖MySQL 依赖 libaio,所以先要安装 libaioyum search libaio # 检索相关信息yum i转载 2017-01-09 18:37:51 · 368 阅读 · 0 评论 -
SQL表连接查询(inner join、full join、left join、right join)
SQL表连接查询(inner join、full join、left join、right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表。 表的数据有:一、内连接-inner jion :最常见的连接查询可能是这样,查出学生的名字和成绩:[sql] view plain copy select s.n转载 2016-09-12 14:56:26 · 220 阅读 · 0 评论 -
sql语句中where 1=1和1=0的作用
where 1=1和 0=1 的作用where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: [java] view p转载 2016-09-12 14:57:11 · 327 阅读 · 0 评论 -
mysql while,loop,repeat循环,符合条件跳出循环
1、while循环DELIMITER $$DROP PROCEDURE IF EXISTS `sp_test_while`$$CREATE PROCEDURE `sp_test_while`( IN p_number INT, #要循环的次数 IN p_startid INT #循环的其实值)BEGIN DECLARE v_val INT DEFAULT 0; SET转载 2016-11-09 10:49:10 · 3329 阅读 · 0 评论 -
mysql存储过程详解
我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedu转载 2016-11-09 11:31:01 · 217 阅读 · 0 评论 -
mysql存储过程 游标 循环使用介绍
Mysql的存储过程是从版本5才开始支持的,所以目前一般使用的都可以用到存储过程。今天分享下自己对于Mysql存储过程的认识与了解。一些简单的调用以及语法规则这里就不在赘述,网上有许多例子。这里主要说说大家常用的游标加循环的嵌套使用。 首先先介绍循环的分类: (1)WHILE ... END WHILE (2)LOOP ... END LOOP (3)REPEAT ...转载 2016-11-09 11:33:13 · 412 阅读 · 0 评论 -
MySql中游标的定义与使用方式
创建游标首先在MySql中创建一张数据表:[sql] view plain copy CREATE TABLE IF NOT EXISTS `store` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `count` int(11) NOT NULL D转载 2016-11-09 11:43:09 · 561 阅读 · 0 评论 -
对group by出来的每一组取前十名
问题阐述: 1. 数据库查询的时候group by可以对数据进行分组,然而返回的结果集中,一组只占结果集的一行。 2. 也就是说,除了对group by出来的信息使用max、min、avg、sum否则查出来的结果信息几乎没有什么意义。(在DB2中尝试,假如不加这些函数是执行不出结果的,会报错;在mysql中,不加这些函数可以出来结果值,不报错,但是结果值其实是没有什么意义的,因转载 2016-11-18 14:45:27 · 4141 阅读 · 0 评论 -
一个distinct问题引发的记录
今天被人问到这样一个问题,整理出来给大家也参考一下假设有如下这样一张表格:这里的数据,具有如下的特征:在一个DepartmentId中,可能会有多个Name,反之也是一样。就是说Name和DepartmentId是多对多的关系。 现在想实现这样一个查询:按照DepartmentID排完序之后(第一步),再获取Name列的不重复值(第二步),而且要保留在第一步后的相对顺序。以本例转载 2016-11-23 17:30:58 · 384 阅读 · 0 评论 -
mysql索引
本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描1转载 2016-11-24 10:41:22 · 272 阅读 · 0 评论 -
MySQL的外键约束:Cascade/Restrict/No action/SET NULL :级联操作
具体使用时需要参考:http://blog.csdn.net/codeforme/article/details/5539454 (注:没看很明白,囧。) MySQL有两种常用的引擎类型:MyISAM和InnoDB。目前只有InnoDB引擎类型支持外键约束。InnoDB中外键约束定义的语法如下:[CONSTRAINT [symbol]] FOREIGN KEY [index_n转载 2016-11-24 14:26:30 · 456 阅读 · 0 评论 -
DECLARE CONTINUE HANDLER FOR NOT FOUND 解释
1.解释:在MySQL的存储过程中经常会看到这句话:DECLARE CONTINUE HANDLER FOR NOT FOUND。它的含义是:若没有数据返回,程序继续,并将变量IS_FOUND设为0 ,这种情况是出现在select XX into XXX from tablename的时候发生的。2.示例:/*建立存储过*/CREATE PROCEDURE useCursor(转载 2016-12-22 09:33:51 · 4996 阅读 · 0 评论 -
java ipone 微信昵称emoji表情保存失败 无法存入数据库
问题描述:ipone5s中昵称输入“emoji 表情”,保存数据库有问题。运行环境:Java、Tomcat、mysql、Linux(我的Linux下为乱码,这个是linux问题) 原因:IOS 5.x及以上版本的emoji 表情都是4字节的,mysql里的utf8一个字符最多3字节。所以保存不到数据库,会有以下报错:Caused by: java.sql.SQLException:转载 2016-09-12 11:41:07 · 697 阅读 · 0 评论