mysql
文章平均质量分 51
愤怒的苹果ext
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、Mac、Android、IOS、WP8等系统的开关机.
展开
-
大数据量MySQL的分页查询优化
【代码】大数据量MySQL的分页查询优化。原创 2024-05-19 17:21:05 · 296 阅读 · 2 评论 -
MySQL InnoDB存储引擎性能调优
Innodb_buffer_pool_read_ahead_evicted : 预读的页,但是没有被读取就从缓冲池被替换的页的数量,一般用来判断预读的效率。Innodb_buffer_pool_read_requests : 从缓冲池中读取页的次数。Innodb_data_reads : 发起读取请求的次数,每次读取可能需要读取多个页。Innodb_buffer_pool_reads : 表示从物理磁盘读取页的次数。Innodb_buffer_pool_read_ahead : 预读的次数。原创 2023-03-27 19:15:00 · 884 阅读 · 0 评论 -
创建表 DATE类型 DEFAULT默认值
是因为在MySQL中default后只能是一个常量,而不能是一个表达式,如果必须要使用表达式则应该将该表达式整个用小括号包括起来。,DDL语句显示如下。原创 2023-03-23 20:45:00 · 164 阅读 · 0 评论 -
Spring Boot 事务回滚不成功可能原因
是否使用EnableTransactionManagement注解被调用的方法是否直接(注解方式间接的方法不行哦)使用注解(Transactional,注意Transactional注解默认只能拦截RuntimeException和Error,源码在DefaultTransactionAttribute#DefaultTransactionAttribute)事务或者方法内部编程式事务使用Transactional注解方法内不要捕获异常,即使需要捕获,也必须再抛出。检查数据库是否是支持事务的引擎(今天原创 2022-02-13 18:26:39 · 1667 阅读 · 2 评论 -
mysql查看表的创建时间
背景由于中间插了另外的版本需求, 新建了哪些表又没记录,时间久远忘记建了哪些表了,尴尬。这个时候可以从information_schema库中寻找。使用使用如下命令 SELECT *FROM `information_schema`.`TABLES`WHERE `information_schema`.`TABLES`.`TABLE_SCHEMA` = 'xx_db' -- database and `information_schema`.原创 2022-01-12 17:03:15 · 6066 阅读 · 2 评论 -
MySQL LIMIT + order by limit n,m 和 limit n的小坑
看数据此时有3条数,id分别为38 、39、40。limit n此时查询到的数据是id为40的。limit n,m原创 2021-12-31 16:51:11 · 765 阅读 · 0 评论 -
Lock wait timeout exceeded; try restarting transaction 更新数据量范围太大,导致锁表惨案
目录背景反思背景应产品需求,每日统计数据要重新刷一遍,于是用代码写了个接口,代码如下所示。谁知在执行这段代码时,刚好其他地方来了个修改的操作,我模拟了一下,如下图所示。因为我代码是加过事务的,此时还没执行完,没有提交事务,如果上面SQL和我的代码操作是同一条数据(因为有加索引,严格意义来说还不算表锁,所以操作同一条数据有问题),极有可能发生锁超时Lock wait timeout exceeded; try restarting transaction,如下图所示。反思尽量避免长事务原创 2021-12-10 11:09:24 · 658 阅读 · 0 评论 -
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY colum
具体报错delete from xxx where xxx= 'xxx' Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.016 sec原创 2021-11-22 13:46:47 · 622 阅读 · 0 评论 -
workbench ssl connection error ssl is required but the server
目录背景解决方案背景workbench连接报错ssl connection error ssl is required but the server,如下图所示。解决方案在https://stackoverflow.com/questions/69824631/mysql-workbench-ssl-connection-error-ssl-is-required-but-the-server-doesnt-sup/69828778找到解决方案,Use SSL要选择If available原创 2021-11-18 09:46:35 · 3638 阅读 · 3 评论 -
LEFT JOIN两张表换个位置,执行计划和效率不同的思考
背景我这里有两条SQL,LEFT JOIN两张表换个位置(两张表都是1W多条数据),但是它们执行时间差异很大,如下图所示。耗时 8.481005秒耗时 0.059083秒问题分析两张表换下位置为什么会有这么大的影响呢?于是我去看了它们的执行计划。explain SELECT count(0) FROM t_user AS u LEFT JOIN t_user_advisor AS ua ON ua.user_id = u.id where u.de原创 2021-10-13 12:30:03 · 400 阅读 · 0 评论 -
mybatis pagehelper自定义count语句
背景数据库里有120W的操作日志数据,已经查询不出来了。在count语句的时候就卡住了。最开始语句如下所示。SELECT count(0) FROM xxx_log后面我想着加个索引会快些,所以加了order by oper_id desc 。也增加了/*keep orderby*/ (为啥要加这个,请看mybatis pagehelper count order by 不生效),sql如下所示。select count(0) from ( /*keep orderby*/ select原创 2021-10-12 15:42:32 · 5168 阅读 · 0 评论 -
mysql 不等于(!=) 数字无效,无视Null值的“小坑“
目录问题背景原因解决方案第一种方案:使用OR第三种方案:使用IFNULL函数第三种方案:设置默认值问题背景例如我现在有一张简单的t_users表,表结构如下图所示。后续随着功能增加,新增加一个字段,判断这个人是不是vip用户(0 - 不是 1 - 是vip),修改后表结构如下。注意,之前数据库我已有2条数据,如下所示。后面又注册了一个新用户,数据如下所示。好了,然后我现在想找一下不是vip的用户,使用如下SQL。SELECT * FROM `t_users`原创 2021-08-15 11:42:12 · 1810 阅读 · 0 评论 -
Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column xxxx
[DTF] Data Transfer started[DTF] 0> Getting tables[DTF] 1> sys_dict_data: Getting table structure[DTF] 1> sys_dict_data: Fetching records[DTF] 1> sys_dict_data: Drop table[DTF] 1> sys_dict_data: Create table[DTF] 1> sys_dict_data: T原创 2021-07-26 16:13:40 · 1754 阅读 · 0 评论 -
linux安装mysql5.7.24
目录下载和解压mysql初始化启动使用mysql下载和解压mysql下载地址https://dev.mysql.com/downloads/mysql/ ;存档下载地址: https://downloads.mysql.com/archives/community/wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gztar -zxvf mysql-5.7.24-linux原创 2020-05-13 22:54:57 · 266 阅读 · 0 评论 -
MySQL底层索引数据结构
一、索引是什么?索引是帮助我们高效获取数据的数据结构(为了寻址更快)索引是一个文件 二、索引的数据结构(B Tree 、 B+Tree)为什么MySQL索引数据结构要选用B Tree 、 B+Tree来实现?我们来对比一下其他的数据结构:常见的几种类型: hash二叉树 红黑树 索引效率的评价标准是IO次数局部性原理:空间上...原创 2017-08-30 17:16:54 · 4381 阅读 · 3 评论 -
MySql数据库不能远程连接的解决办法总结
总结了以下几点数据库不能远程连接的解决办法1、没有远程登录授权登录进MySQL命令控制台或者你是本地的数据库工具连接选择MySQL database ,设置成任意客服端输入你设定的密码都可以远程登陆,然后刷新。 use mysql; grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;原创 2017-10-26 22:31:25 · 643 阅读 · 0 评论 -
centos搭建lamp php运行环境
lamp:Linux+Apache+MySql+PHP,是一个在Linux上执行php程序比较通用的运行环境一、安装前准备:- 1、保证电脑是联网的- 2、可以使用yum二、安装我们直接使用yum很方便,它可以解决包的依赖关系,我还在后面加了postgresql数据库如果不需要的话可以去掉和postgresql的参数yum -y install httpd mysql mysql-serve原创 2017-11-17 22:35:46 · 400 阅读 · 0 评论 -
mysql limit优化
MySQL自超过百万条数据后使用limit查询发现会很慢了;那么该如何不通过分库分表的方案进行优化呢?答案还是加索引。我这里就没有开慢日志查询去验证了,而是直接使用mysql的查询计划explain 简单的介绍下explain结果的意思: id:SQL执行的顺序的标识,SQL从大到小的执行 select_type : 查询中每个select子句的类型 table:显示是...原创 2018-07-22 09:22:58 · 383 阅读 · 0 评论 -
mysql create database xx-xxx异常You have an error in your SQL syntax
语句create database test-admin;报具体异常就是说语法不正确:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-admin' at line 1...原创 2018-10-11 23:44:54 · 1182 阅读 · 0 评论 -
windows mysql5.7.24压缩版安装
里面没有my.ini文件,在根目录创建my.ini文件,内容如下:[client] port=3306 default-character-set=utf8 [mysqld] character-set-server=utf8 #collation-server=utf8_unicode_ci basedir="D:/software/mysql-5.7.24-winx64"...原创 2018-11-20 22:54:14 · 499 阅读 · 0 评论 -
PowerDesigner根据mysql表生成图
第一步、第二步、现在需要一个sql文件,我们只需要把表结构导出就行了。mysqldump --opt -d 数据库名 -u root -p > xxx.sql 第三步、点确定稍等下,生成的图如下原创 2017-02-20 11:23:58 · 1113 阅读 · 0 评论