MySQL
MySQL
思维小刀
这个作者很懒,什么都没留下…
展开
-
PgSQL中的DATE_PART使用
这个DATE_PART()函数返回类型为double precision的值。原创 2023-08-21 10:40:11 · 1114 阅读 · 0 评论 -
PgSQL中的on conflict使用
【代码】PgSQL中的on conflict使用。原创 2023-08-21 10:29:28 · 493 阅读 · 0 评论 -
MySQL主从复制延时方法
延时的确诊通过show slave status 命令输出的Seconds_Behind_Master参数的值来判断NULL表示io_thread或是sql_thread有任何一个发生故障;0该值为零,表示主从复制良好;正值表示主从已经出现延时,数字越大表示从库延迟越严重。延时解决方法1. 优化网络2. 升级Slave硬件配置3. Slave调整参数,关闭sync_binlog,修改innodb_flush_log_at_trx_commit参数值4. 升级MySQL版本..原创 2021-08-12 13:58:21 · 137 阅读 · 0 评论 -
MySQL之三范式:原子性 唯一性 避免数据冗余
第一范式:1NF 原子性第二范式:2NF 唯一性第三范式:3NF 数据冗余定义:当数据表中有字段是可以被推导出来的情况,这时候不能有冗余数据什么意思呢?比如有下面字段的表id,name,age,sex,class_id,classname,depart另一张表id,classname,depart这时候,前面一张表是可以通过class_id来推导出后面一张表的数据,那classname,depart就是冗余数据了在开发中,通俗的讲,当分开表的时候可以通过外键来关联表...原创 2021-05-18 00:04:44 · 778 阅读 · 0 评论 -
MySQL主从同步延迟原因及解决方法
MySQL主从同步延迟原因及解决方法原创 2021-05-17 23:16:08 · 227 阅读 · 0 评论 -
MySQL删库数据延迟恢复策略
stop slave;change master to master_delay = 1800; #1800s后才同步 start slave;原创 2021-03-24 11:10:44 · 107 阅读 · 0 评论 -
MySQL安装sql追踪器phpgjx
1.配置网站访问环境host:127.0.0.1 sql.sql.sqlvhost:#数据库sql跟踪器<VirtualHost *:80> ServerName sql.sql.sql DocumentRoot "D:\phpstudy\PHPTutorial\WWW\thinkphpGo\phpgjx" SetEnv APP...原创 2020-04-20 16:32:30 · 274 阅读 · 0 评论 -
MySQL前缀索引与覆盖索引:前缀索引对于索引精简 覆盖索引对于查询数据索引化
MySQL的前缀索引原创 2020-08-07 11:59:30 · 210 阅读 · 0 评论 -
MySQL唯一索引与主键的区别:主键相当于一本书的页码,索引相当于书的目录
MySQL唯一索引与主键ed区别原创 2020-08-07 11:29:25 · 379 阅读 · 0 评论 -
MySQL加索引语句不加锁:ALGORITHM=INPLACE, LOCK=NONE
线上无锁添加索引:加索引的语句不加锁ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;ALGORITHM=INPLACE更优秀的解决方案,在当前表加索引,步骤:1.创建索引(二级索引)数据字典2.加共享表锁,禁止DML,允许查询3.读取聚簇索引,构造新的索引项,排序并插入新索引4.等待打开当前表的所有只读事务提交5.创建索引结束ALGORITHM=COPY通过临时表创建索引,原创 2020-05-31 21:59:04 · 17931 阅读 · 0 评论 -
MySQL的show processlist:正在运行的线程
Checkingtable #正在检查数据表(这是自动的)。Closingtables #正在将表中修改的数据刷新到磁盘中,同时正在关闭已经用完的表。这是一个很快的操作,如果不是这样的话,就应该确认磁盘空间是否已经满了或者磁盘是否正处于重负中。ConnectOut #复制从服务器正在连接主服务器。Copyingtotmptableondisk#由于临时结果集大于tmp_table_size,正在将临时表从内存存储转为磁盘存储以此节省内存。Creat...原创 2020-05-31 21:47:23 · 316 阅读 · 0 评论 -
MySQL索引面试题:优化 索引分类
解决慢SQL1.慢查询:在服务器跑一段时间,用mysqldump找出慢sql2.explain: 2.1聚簇索引:建立主键 相应的建立聚簇索引 索引+data放在一起 查询快 2.2type索引等级,在where、groupby、orderby、join使用的字段建立联合索引,根据最左前缀匹配原则 2.3extra:建立覆盖索引,直接使用索引里面的数值就可以查询 消除usingtemporary usingfileorder3.show profile分析sql生命周期...原创 2020-06-01 09:50:21 · 432 阅读 · 0 评论 -
MySQL之innodb与myisam:锁 事务 外键 主键 存储结构 存储大小 索引 count 注重点
1.行锁:innodb支持行锁2.事务:innodb支持事务3.聚簇:innodb聚簇 myisam非聚簇4.注重:innodb事务 myisam性能5.表空间:innodb大 myisam小原创 2020-07-12 12:54:59 · 254 阅读 · 0 评论 -
MySQL聚簇索引:叶子保存主键或unique字段+data 非聚簇保存索引字段
补充:MySQL聚簇索引原创 2020-06-01 09:50:02 · 921 阅读 · 0 评论 -
MySQL主从复制主库宕机:1更新完relaylog2最大post设为主库 配置及删除之前从库信息3其他从库新建连接
MySQL主从复制主机宕机原创 2020-05-31 21:26:28 · 195 阅读 · 0 评论 -
MySQL加索引避免锁表:避开事务 lock_wait_timeout 副本
在无人监管的时候运行,最好通过lock_wait_timeout设置好超时时间,避免长时间的metedata锁等待。所以大表加索引还是在没人用的时间加比较安全,要不就是先创建副本,再将表名改掉。加索引要避免锁表,需要先确定此时没有慢查询事务未提交,如果这个查询卡了30分钟,那么整个表的所有业务都会卡30分钟,这是很变态的。...原创 2020-05-31 21:59:29 · 2424 阅读 · 0 评论 -
MySQL装好了但是找不到命令-bash: mysqladmin: command not found:建立软连接
[root@localhost support-files]# service mysqld status SUCCESS! MySQL running (68596)#mysqladmin [root@localhost support-files]# mysqladmin -uroot password 123456-bash: mysqladmin: command not found[root@localhost support-files]# ln -s /usr/local/mys.原创 2020-05-24 20:21:31 · 3057 阅读 · 0 评论 -
MySQL配置mycat读写分离:wrapper | Startup failed: Timed out waiting for signal from JVM.
wrapper.conf添加wrapper.ping.timeout=120wrapper.startup.timeout=300原创 2020-05-23 17:34:34 · 737 阅读 · 0 评论 -
MySQL主从复制的原理:IO用于交互 SQL用于解析执行;主bin-log 从relay-log;
MySQL主从复制的原理原创 2020-05-23 11:46:54 · 255 阅读 · 0 评论 -
MySQL主从复制从机验证报错:ERROR 3021(HY000):this operation cannot be performed with a
原因:mysql从机上已经进行过绑定了,如果继续绑定需要先进行重置。解决办法1、停止已经启动的绑定stop slave2、重置绑定reset master3、执行复制主机命令change master to master_host = '192.168.12.1' master_user = 'slave' ,master_password ='123456' ,master_log_file = 'mysql-bin.000004',master_log_pos原创 2020-05-23 10:16:32 · 1279 阅读 · 0 评论 -
MySQL对in里面数据进行指定排序:order by field
SQL: select * from table where id IN (3,9,6);这样的情况取出来后,其实,id还是按3,6,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实可以这样sql: select * from table where id IN (3,9,6) order by field(id,3,9,6);出来的顺序就是指定的(3,6,9)顺序了关于这种排序的效率,有文章指出:FIELD(str,str1,原创 2020-05-22 15:07:38 · 569 阅读 · 0 评论 -
MySQL中空字符串与null的区别:计数 判断 时间
MySQL中空字符串与null的区别原创 2020-05-22 15:01:03 · 329 阅读 · 0 评论 -
Mysql京东的一道面试题目 比较综合
表格与查询结果查询sql# 计算出每人每天的分数和 然后每人每天分数和要求大于40# 然后统计一个月之内每人每天分数大于40的天数,要求一个月之内每人每天分数大于40的天数大于1select id,count(id) num,sum(afterscore) res from (select sum(score) as afterscore,id,time from sco...原创 2020-05-17 16:09:38 · 296 阅读 · 0 评论 -
MySQL搭建主从复制 读写分离 分库分表 MyCat高可用
Mysql主从复制环境的介绍系统环境:centos7.0客户端连接工具:xshell远程文件传输工具:xftp服务器:192.168.126.138(主) 192.168.126.139(从)基于rpm实现MySQL的安装#查看有没有安装MySQLrpm -qa | grep -i mysql#卸载rpm -e --nodeps mysql-community-client-5.7.28-1.el7.x86_64#查找find / -name mysql#删除.原创 2021-12-14 16:21:01 · 681 阅读 · 0 评论 -
Mysql拼接的经典样式拼接规则
public function getStatusOne($row) { $table = 'offline_email_queue'; $select = ' * '; $where = " 1 = 1 "; if (!empty($row['brand_no'])) $where .= " and a.brand...原创 2020-03-13 23:54:35 · 224 阅读 · 0 评论 -
Mysql的键值对操作ELT FIELD
ELT(N,str1,str2,str3,...)如果N =1返回str1;如果N= 2返回str2;如果参数的数量小于1或大于N返回NULL;按照索引进行返回值mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');+--------------------------------------------------------...原创 2020-03-07 12:04:20 · 579 阅读 · 0 评论 -
Mysql翻转字符串reverse
SELECT reverse('chinese'); # esenihcSELECT reverse('pep'); # pepSELECT reverse(1234567); # 7654321原创 2020-03-07 12:00:55 · 1276 阅读 · 0 评论 -
Mysql用navicat查看建表语句
选中表右键的对象信息,再看DDL即可原创 2020-03-04 13:11:37 · 4977 阅读 · 0 评论 -
Mysql用navicat操作导出查询结果
原创 2020-03-04 13:09:18 · 1181 阅读 · 0 评论 -
Mysql判断字符串存在性find_in_set
https://www.jianshu.com/p/b2c1ba0ba34f原创 2020-03-04 10:55:53 · 415 阅读 · 1 评论 -
Mysql数值型字符串按照数值进行排序
order by 字段名称+0 desc/asc的形式进行排序order by 字段名称*1 desc/asc的形式进行排序原创 2020-03-04 10:49:51 · 1401 阅读 · 0 评论 -
Mysql使用存储过程与函数进行批量插入数据
批量插入第一步表格SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for dept-- ----------------------------DROP TABLE IF EXISTS `dept`;CREATE TABLE `dept` ( ...原创 2020-01-27 23:52:09 · 434 阅读 · 0 评论 -
Mysql报错时区错误invalid timezone
问题Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually方法临时性质mysql> set global time_zone='+8:00';原创 2020-01-27 16:24:17 · 1363 阅读 · 1 评论 -
Mysql的date_format与date_sub
date_formatselect date_format('2020-01-22','%Y/%m/%d');date_subselect DATE_SUB('2020-12-22',INTERVAL 10 day)项目使用date_format(date_sub(ed, INTERVAL 7 DAY), '%Y/%m/%d')https://www.w3sch...原创 2020-01-17 17:50:14 · 677 阅读 · 0 评论 -
Mysql的存储过程修改表的数据:项目上一个小练习
把所有的记录中的周数进行加52 一共十三万条的数据思路:先查询出来,把结果进行保存; 把进行使用update进行更新;create procedure changeweek2(in id_sum int) begin declare id_count int default 1; declare week_num int default 1; while id...原创 2020-01-13 23:55:45 · 1466 阅读 · 0 评论 -
Mysql取得分组的前n名
参考https://blog.csdn.net/junzi528/article/details/84404412建表与数据sql/*Navicat MySQL Data TransferSource Server : 127.0.0.1Source Server Version : 50553Source Host : localhost:...原创 2019-12-27 11:31:23 · 505 阅读 · 0 评论 -
Mysql的concat concat_ws group_concat
原文https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pcconcat:concat(str1, str2,...)concat_ws(separator, str1, str2, ...)group_concat:将分组过程中的数据进行连接起来1、功能:将group b...原创 2019-12-26 18:53:44 · 349 阅读 · 0 评论 -
Mysql升序排序对为空的排在最后面is null
使用order byorderid desc实现降序时,orderid 为null数据的会排在数据的最后面,这个是正常的!但是order by orderid升序时,orderid 为null的数据则会排在最前面,如果想要将orderid为null的数据排在最后,就需要加上is null。记住啊这个升序不能使用asc,一加上asc就错误了,直接order by 字段名 is null...原创 2019-11-26 11:33:19 · 925 阅读 · 0 评论 -
Mysql的coalesce
select coalesce(null,2,3); // Return 2select coalesce(null,null,3); // Return 3select coalesce(1,2,3); // Return 1SELECT COALESCE(NULL, NULL, NULL, NULL); //nullSELECT COALESCE(字段名,0);//值为null 用...原创 2019-10-28 18:47:39 · 236 阅读 · 0 评论 -
Mysql的timestamp与datetime
1.MySQL表示当前时间CURRENT_TIMESTAMPCURRENT_TIMESTAMP()NOW()LOCALTIMELOCALTIME()LOCALTIMESTAMPLOCALTIMESTAMP()2.TIMESTAMP和DATETIME比较一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和ti...原创 2019-05-01 14:46:51 · 175 阅读 · 0 评论