【MySQL】
文章平均质量分 63
CBeann
阿里淘天Java开发工程师,CSDN博客专家,阿里云博客专家,专注于后端技术的分享。如果你迷茫,不妨来瞅瞅码农的轨迹。模拟面试简历辅导、内推加VX:CHAI956056312
展开
-
百万数据如何导入MySQL
百万数据如何导入MySQL原创 2024-07-08 23:43:20 · 287 阅读 · 0 评论 -
有过MySQL调优经验吗【面试题】
有过MySQL调优经验吗【面试题】原创 2023-07-21 21:06:48 · 390 阅读 · 2 评论 -
mysql的limit查询竟然有坑?
mysql的limit查询竟然有坑原创 2023-03-26 02:24:59 · 1727 阅读 · 17 评论 -
为什么MySQL默认的隔离级别是RR而大厂使用的是RC?
为什么大厂里mysql默认的隔离级别是RC原创 2022-10-24 00:17:43 · 4111 阅读 · 5 评论 -
开发规范中为什么要禁用外键约束
阿里JAVA规范不得使用外键与级联,一切外键概念必须在应用层解决。外键的优缺点缺点:每次做DELETE或者UPDATE都必须考虑外键约束,会导致开发时很痛苦,测试数据极为不方便。优点:保证数据的完整性和一致性,级联操作方便,数据的一致性交给数据库,代码量小。外键案例分析如下图所示,订单表有订单id和其他属性,订单明细表有订单明细id、订单id(外键)和其他属性。性能问题额外的数据一致性校验查询。当每一次向订单明细表添加数据时,会检查订单表里是否存在对于的外键约束数据id是否存。并发问题原创 2022-03-11 13:58:38 · 3922 阅读 · 19 评论 -
mysql远程跨库联合查询【转载】
https://blog.csdn.net/czh500/article/details/85345825转载 2021-12-02 20:17:20 · 575 阅读 · 0 评论 -
MySQL之InnoDB关键特性
InnoDB关键特性插入缓冲(☆) 在InnoDB存储引擎中,主键是唯一的标识符。应用程序中行记录的插入顺序是按照主键递增的顺序进行插入的。因此,插入聚簇索引(Primary key)一般是顺序的,不需要磁盘随机读写。比如定义一下SQL表:create Table t( a INT AUTO_INCREMENT, b VARCHAR(30), PRIMARY KEY(a)) 但是不可能每张表上只有一个聚簇索引,更多情况下,一张表上有多个聚簇索引,如下表所示。create Table原创 2021-10-08 12:26:32 · 257 阅读 · 0 评论 -
MySQL横竖表转换
竖表变横表CREATE TABLE `student` ( `id` int(11) NOT NULL, `sub` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL, `userid` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Recor原创 2021-08-04 21:51:33 · 1415 阅读 · 0 评论 -
MysSQL索引会失效的几种情况分析
索引失效情况如果条件中有or,索引失效DROP TABLE IF EXISTS `indexdemo`;CREATE TABLE `indexdemo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name_index` (`name`)) ENGINE=InnoDB AU原创 2021-07-27 22:48:42 · 310 阅读 · 0 评论 -
MySQL事务隔离级别和实现原理【转载】
https://www.cnblogs.com/fengzheng/p/12557762.html转载 2021-07-19 18:29:15 · 95 阅读 · 0 评论 -
MySQL之为什么默认使用RR隔离级别【转载】
https://zhuanlan.zhihu.com/p/59061106转载 2021-06-17 15:00:16 · 355 阅读 · 0 评论 -
MySQL数字和字符串的比较
问题的引出https://mp.weixin.qq.com/s/15YEwqxuQcCH16Sq7BF5Vg实验创建表mysql版本 5.6.48CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1111111116 DEFAULT CHA原创 2021-01-17 13:32:33 · 2506 阅读 · 0 评论 -
MVCC多版本并发控制[转载]
https://www.jianshu.com/p/8845ddca3b23转载 2021-01-16 13:45:15 · 162 阅读 · 0 评论 -
MySQL窗口函数【转载】
注意MySQL窗口函数是8.0及以后才有的新特性。安装mysql8.0(docker安装方式)安装docker安装docker#下载指定版本dockerwget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo#安装dockeryum -y install docker-ce-18.06.1.ce-3.el7#开启docke.转载 2020-10-30 13:39:00 · 472 阅读 · 0 评论 -
《高性能MySQL》第四、五、六章笔记
第四章 Schema与数据类型优化4.1 选择优化的数据类型更好的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为他们占用更好的磁盘、内存、CPU缓存,并且处理时需要的CPU周期也更少。但是要确保没有低估需要 存储的值的范围。简单就好 简单数据类型的操作通常需要更少的CPU周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。尽量避免NULL 如果查询中包含可为NULL的列,对MySQ...原创 2020-08-30 13:30:58 · 244 阅读 · 0 评论 -
MySQL主从复制配置
前提条件Centos7系统:192.168.6.220(master),192.168.6.221(slave)mysql:mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz搭建环境之前一定要快照、一定要快照、一定要快照修改master结点修改my.cnf文件### 开启bin log日志以及一些参数log-bin=/var/log/mysql/mysql-binserver-id=1innodb_flush_log_at_tr...原创 2020-08-23 12:20:23 · 246 阅读 · 0 评论 -
《MySQL技术内幕:InnoDB存储引擎》笔记
第一章 MySQL体系结构和存储引擎1.3MySQL存储引擎1.3.1InnoDB存储引擎 InnoDB存储引擎支持事物,其特特是行锁设计、支持外键。InnoDB存储引擎通过使用多版本并发控制(MVCC)来获得并发性。同时,使用一种被称为next-key locking 的策略来避免幻读(phantom)现象的产生。1.3.2MyISAM存储引擎 MyISAM存储引擎不支持事物、表锁设计、支持全文索引。 MyISAM存储引擎表由MYD和MYI组成,MYD用来存放数据文...原创 2020-08-24 12:40:20 · 372 阅读 · 0 评论 -
SQL_CALC_FOUND_ROWS的使用
需求 经常会有这么一种情况,让你根据条件分页查询学生的信息,最后还要总条数, 基本操作是两条SQL: (1)select * from student where age = 18 limit 10,10 ; (2)select count(*)from student where age = 18现在通过一条SQL足矣低配版本select * from student WHERE id < 1000 LIMIT 10,10 ;selec...原创 2020-08-06 09:09:30 · 5667 阅读 · 16 评论 -
MySQL一行变多行,多行变一行
数据表一行变多行select a.classid, substring_index(substring_index(a.classname, ',', b.help_topic_id + 1), ',', -1) as spitIdfrom classroom a join mysql.help_topic b on b.help_topic_id < (length(a.classname) - length(replace(a.classname, ',', ''))原创 2020-08-01 23:20:10 · 4522 阅读 · 2 评论 -
MySQL根据输入的查询条件排序
问题 现在一个需求是查询某一列,用逗号分开,返回的结果要根据输入的顺序返回结果 比如:姓名的输入框输入的是(zhangsan,lisi),那么返回的结果也要是按照(zhangsan,lisi)这样的顺序展示测试有如下表classroom,内容如下如果根据字段名称去查,那么它会根据字典顺序排序,如下所示select * from classroom where classname in ("class2","class3") order by classname...原创 2020-08-01 17:07:15 · 4752 阅读 · 0 评论 -
MySQL隔离级别与MySQL的锁
MySQL隔离级别Read Uncommitted(读取未提交内容)Read Committed(读取提交内容)Repeatable Read(可重读)Serializable(可串行化)MySQL的锁原创 2020-06-06 14:31:27 · 312 阅读 · 0 评论 -
ON DUPLICATE KEY UPDATE
问题引出案例:某个餐桌(id)花了多少钱(num)如果4号餐桌点了一份西红柿4元,我们可以插入;如果3号餐桌点了一份西红柿4元,我们可以修改你选择insert或者update的原因是你知道他原来有没有数据如果你不知道呢???一般我们的逻辑为先查询,如果没有,插入;反之修改if not exists (select ) insert else ...原创 2019-07-31 09:23:36 · 364 阅读 · 1 评论 -
dateTime怎么根据日期(年月日)查找数据
datetime类型怎么查询数据原创 2017-11-14 18:36:31 · 13833 阅读 · 1 评论 -
MySQL基础知识
清屏:cls MySQL基础启动MySQL net start mysql关闭MySQL net stop mysql登录 mysql -uroot -p退出 mysql>exit; mysql>quit; mysql>\p;显示当前服务器...原创 2017-09-12 12:24:16 · 9347 阅读 · 5 评论