![](https://img-blog.csdnimg.cn/20200629100301158.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 50
事务
索引
存储引擎等
二斤理想
保持在路上...
有问题欢迎一起探讨,可私信/评论区留言 ,欢迎关注,让我们一起成长,共同进步 ~
展开
-
mysql-索引(2)索引失效情况以及优化细节
索引使用实战索引的使用一、索引匹配类型1 全值匹配2 匹配最左前缀3 匹配列前缀4 匹配范围查询二、or生效情况和失效情况三、索引覆盖优化细节1 **索引列不要参与计算**,2 **当需要很长的字符列作为索引**的时候,选择创建前缀索引。3 使用索引来做排序4 隐士类型转换也会让索引失效5 数据更新频繁或者区分度不高的列,不建议创建索引。6 表连接的时候最好不要超过3张表7 尽量使用limit8 单表索引有的书建议控制在6~7个以内9 单表字段组合索引尽量不要超过5个字段索引的使用本文主要是做笔记用的。原创 2020-07-01 22:50:00 · 303 阅读 · 0 评论 -
mysql-索引(1)深入了解
索引深入研究什么是索引索引的文件结构及特点索引类型什么是索引索引是一种数据结构,可以帮助mysql高效获取数据。索引存储在文件系统中,存储形式跟存储引擎相关。模型演示: 你可以画二叉树,红黑树,b+树等等索引的文件结构及特点innoDB 和myisam存储引擎的数据存储文件形式如下 eg:拓展->磁盘预读磁盘预读长度一般为页的整数倍。页是存储器的逻辑块,操作系统往往将主存和存储区分割为连续的大小相等的块,每个块称为一页,每页大小通常为4k,主存和存储区以页为单位进行数据交换。原创 2020-07-20 12:33:11 · 286 阅读 · 0 评论 -
mysql-事务(1)实现原理简述
事务实现原理事务实现原理a. 原子性实现原理c.一致性实现原理i.隔离性实现原理 读写锁+mvccd. 持久性实现原理 redo loglast番外篇一、数据库并发现象和隔离级别如何进行测试二、数据库锁事务实现原理1 原子性通过undo log 实现的2 持久性通过redo log 实现3 隔离性通过 读写锁+mvcc(并发控制) 实现的4 一致性通过原子性,隔离性,持久性 来实现。a. 原子性实现原理原子性实现原理:在操作数据之前,将数据备份到undo log ,然后进行修改,当发生异常原创 2020-07-20 12:33:48 · 286 阅读 · 0 评论 -
SQL优化(一)、sql优化一般步骤
sql优化一般步骤概要:1 通过 show status 命令了解各种sql的执行频率2 定位执行效率较低的sql语句3 通过explain分析低效sql的执行计划4 通过 show profile 分析sql5 通过trace分析 优化器 如何选择执行计划6 确定问题并采取相应的优化措施以下阐述每步具体操作,请详细跟进操作,会有不错的收货!1 通过 show status 命...原创 2018-10-20 16:17:13 · 22495 阅读 · 4 评论 -
SQL优化(二)、2.1索引分类
索引是数据库中较常用的优化手段之一,下面让我们看看索引的分类和使用索引的存储分类索引是在mysql 的存储引擎层中实现的,而不是在服务器层实现的。意味着每种存储引擎的索引都不一定完全相同,也不是所有的存储引擎都支持所有的索引类型。下面是三个比较常用的引擎支持的索引类型比较(myisam,memory,innodb)目前mysql提供了4种索引。b-TREE索引:最常见的索引类型,大部...原创 2018-10-20 19:45:34 · 272 阅读 · 1 评论 -
SQL优化(三)、简单实用的2个优化方法
1 、定期分析表和检查表分析语法为:analyze[loacal | no_write_to_binlog ] table tbl_name[,tbl_name].....分析和存储表的关键字分布,分析的结果可让系统得到准确的统计信息使sql生成正确的执行计划。如果你觉得你执行的sql实际的执行计划并不是预期的那样,执行分析表会解决这个问题。不过要注意,在分析的时候,要先使用一个读...原创 2018-10-20 22:30:25 · 200 阅读 · 0 评论 -
常见存储引擎小结
存储引擎的使用可以根据具体业务,组合使用存储引擎,以达到更好的性能。mysql中,索引即为 键(key),是存储引擎快速搜索数据的一种数据结构。 尤其当表的数据量越来越大的时候,索引对性能的影响就愈加明显。 索引优化是对查询性能优化的最有效的手段,创建一个真正最优的索引经常需要重写sql查询语句。使用共享表空间存储,这种方式创建的表的表结构存储在.frm文件中,数据和索引保存在 inn...原创 2020-07-20 12:42:29 · 415 阅读 · 0 评论 -
工作中常见问题汇总
`mysql [Err] 1062 - Duplicate entry for key ` 现象:很奇怪,insert时,提示a表里userid 有重复,实际并没有这个userid值的记录,分析:a表是否加了一个insert触发器,是insert的时候触发执行另外一个同构表b的userid已经存在你的这个值了解决:删掉b.userid大于等于这个值的同构表b表的记录...原创 2018-11-01 19:45:27 · 192 阅读 · 0 评论 -
SQL优化(二)、2.2.1如何使用索引
1111原创 2018-11-02 10:46:52 · 234 阅读 · 0 评论 -
SQL优化(二)、2.2.2存在索引但不能使用索引的场景
谁谁谁水水水水原创 2018-11-07 15:11:57 · 542 阅读 · 0 评论 -
mysql数据库备份
linux服务器安装的mysql备份,适用场景:涉及到数据库迁移,从一台服务器迁移到另一台服务器,比如我在阿里云买了一年的使用权,安装了数据库,结果到期了续费有点小贵,所以打算做数据迁移,指的就是这种,既备份数据库对象结构,还备份数据库数据。一、在linux环境做备份,首先要查找你的mysql安装在哪里了ps -ef|grep mysql进入目录:cd /app/mysql/bin ,...原创 2019-01-23 07:35:36 · 3034 阅读 · 0 评论 -
SQL优化(三)、综合实战:sql优化
连接了mysql执行explain extra 的值为:Using join buffer (Block Nested Loop) ,根据其原理,可以调大join_buffer_size,这样会提升效率,增加到多大为合理,可以去网上查下,不详细描述【 查看 join缓存大小show variable like '%join_buffer_size%';】如果是字符串类型,允许为空,则i...原创 2019-06-09 21:21:03 · 193 阅读 · 0 评论 -
BTREE索引与HASH索引
水电费原创 2018-10-05 21:42:27 · 4022 阅读 · 2 评论 -
索引概述
1 简述1、mysql所有列类型都可以被索引,对相关列使用索引可以提高select操作性能。根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(eg:myisam,innoDB,bdb,memory ,act.)对每个表至少支持16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。2、myisam和innodb存储引擎的表默认创建的是btree索引,memory...原创 2018-10-05 16:01:13 · 166 阅读 · 0 评论 -
索引设计原则
1 概述2 索引设计原则数据库常用索引来提高检索数据性能,本次主要针对mysqk 5.0的索引类型3 btree索引和hash索引4 小结1 概述1.)mysql所有列类型都可以被索引,对相关列使用索引可以提高select操作性能。根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(eg:myisam,innoDB,bdb,memory ,act.)对每个表至少支持...原创 2018-10-05 18:59:56 · 540 阅读 · 0 评论 -
mysql外键设置方式
mysql外键设置方式/在创建索引时,可指定在delete/update父表时,对子表进行的相应操作, 包括: restrict, cascade,set null 和 no action ,set default.restrict,no action: 立即检查外键约束,如果子表有匹配记录,父表关联记录不能执行 delete/update 操作;cascade: 父表delete...原创 2018-08-27 09:54:51 · 34954 阅读 · 4 评论 -
linux:生产数据量大导出数据时间很长
解决方案:可以调整方案为把日志以及数据内容输出到终端工具:xshell tg:可以把linux的日志以及打印内容输出到终端。 比如说因为某种原因,你想导出比较多的生产数据,但是呢,公司不让随便导出,得走oa,哎哟喂,一走就是一小天儿,这要是紧急怎么办呢,这么多数据,那么下面的图片就可以解决你的燃眉之急:找到属性->高级->日志记录->选中 连接时开始日志记录以及包括终...原创 2018-08-31 12:33:54 · 793 阅读 · 0 评论 -
mysql存储引擎概述
mysql存储引擎 第一篇原创 2018-08-24 12:37:01 · 234 阅读 · 0 评论 -
mysql常用存储引擎特性小结
简述各存储引擎特性,如果你是java开发工程师,可以着重看下myisam和innodb存储引擎原创 2018-09-05 21:35:40 · 208 阅读 · 0 评论 -
存储引擎:MyIsam概述
MyIsam 是mysql5.5之前默认的存储引擎,缺点是 不支持事务,不支持外键,优点:批量插入和查询数据快,不支持事务安全或者主要以查询,插入为主的业务表的创建,可以定义为myisam存储引擎。...原创 2018-09-05 21:12:54 · 1392 阅读 · 0 评论 -
存储引擎:InnoDB
InnoDB 存储引擎 优点: 提供 提交,回滚,崩溃恢复能力的事务安全。 支持外键约束 锁机制默认为行锁 支持B Tree索引和集群索引; 支持数据缓存和索引缓存。 缺点: 空间使用较高来保留数据和索引; 内存使用占用较高; 批量插入速度相比myisam较慢; 访问速度相比myisam慢;以下着重阐述存储引擎InnoDB的表...原创 2018-08-27 16:43:23 · 192 阅读 · 0 评论 -
数据库:sql 递归
数据库向上递归和向下递归原创 2018-08-30 10:02:38 · 3535 阅读 · 2 评论 -
mysql 语句梳理
1 分组:(场景:求哪些同学全科及格,【答案:查出来的 姓名为 q,x为全科及格】)场景构建:CREATE TABLE `course` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) DEFAULT NULL COMMENT '名称', `accounts` varchar(6...原创 2018-08-30 10:27:15 · 145 阅读 · 0 评论 -
linux 环境 重置mysql密码
1 先杀掉mysql进程Killall mysqlEg:[root@iZ25odf0bt6Z bin]# killall mysqld2 判断是否配置环境变量如果你已经配置,这里可以看出来,第二步可以跳过,没配置的话,继续 echo $PATH 配置环境变量:echo "PATH=$PATH:/opt/soft/mysql/bin" >>/etc/p...原创 2018-08-30 10:30:06 · 276 阅读 · 0 评论 -
mysql: 工作中常见mybatis 之sql 用法
mysql 常用操作建表tempTest ,里面基本涵盖工作中用到的数据类型CREATE table tempTest ( name varchar(50) DEFAULT NULL COMMENT '申请员工名称',applyStaffId int(10) DEFAULT NULL COMMENT '申请员工id',age smallint(1) NOT NULL COMME...原创 2018-08-30 10:32:34 · 781 阅读 · 0 评论