![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
error0318
这个作者很懒,什么都没留下…
展开
-
MySQL表优化
优化MySQL的方式(1)读写分离,主数据库负责写,多个从数据库负责读(2)限制查询。每条sql语句需要加限制条件,避免全表扫描(3)使用MySQL缓存(针对更新少,查询多,重量级的数据表)(4)垂直分区:将一个数据表拆分成多个数据表(对字段进行拆分) 优点:可以使得行数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。 缺点:主键会出现冗余,需要管理冗余列,并会引起Join操作,可以通过在应用层进行Joi...原创 2020-10-20 23:57:50 · 668 阅读 · 0 评论 -
MySQL外键
外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;在外键表中,如果关联了主键,那么需要删除外键表.原创 2020-10-20 22:05:20 · 91 阅读 · 0 评论 -
MySQL锁机制
Mysql中的锁可以分为共享锁/读锁(Shared Locks)、排他锁/写锁(Exclusive Locks)、间隙锁、行锁(Record Locks)、表锁。从操作上来说分为:共享锁/读锁 , 排它锁/写锁,从粒度上来说分为:行锁, 表锁...原创 2020-10-09 22:09:09 · 166 阅读 · 0 评论 -
MySQL事务实际操作之深度理解 事务隔离级别
既然前面已经学了MySQL的事务,这篇文章就来进行实际的操作首先的首先:对于MySQL 中的MyISAM引擎是不支持事务的。所以一切事务操作要对应InnoDB引擎新建一个user表进行测试 : 注意设置默认引擎为 InnoDBcreate table user( id int auto_increment, username varchar(10), password varchar(10), primary key (id) )ENGINE=I..原创 2020-10-09 17:47:00 · 167 阅读 · 1 评论 -
MySQL的四种事务隔离级别
事务的四大特性1.原子性:即一个事务是一个整体,不可分割。2.一致性:事务在开始和结束后,能保证数据库完整性约束的正确性即数据的完整性。3.隔离性:事务之间完全隔离。不能同一时间操作同一数据表4.持久性:一旦事务完成,无法回滚,对数据操作是永久性的事务的并发问题1.脏读:一个事务读取另一个事务还没有提交的数据称为脏读。也就是B事务还没有提交,A事务已经读取B修改的数据。如果B事务因为某种原因造成回滚,那么A读取的数据完全无效2.不可...原创 2020-10-07 17:21:21 · 351 阅读 · 2 评论 -
MySQL数据库百万数据查询优化
explain 在查询语句前加上进行分析 数据库索引会大大优化数据的查询,所以对数据表建立索引是很有必要的优化方案 1.最左前缀法则:数据库建立的复合索引会采用最左前缀法则。 当进行数据查询时,限制条件需要和建立复合索引的顺序相匹配,此时的查询采用的是最左前缀法则。 举例: 如果复合索引的顺序为a->b->c。 那么如果按照a->c查找时, a索引有效,c索引无效 如果...原创 2020-09-17 22:00:47 · 422 阅读 · 0 评论 -
数据库索引问题
MySQL数据库索引 Question1: 为什么数据库索引不采用哈希索引 答:使用哈希索引不能进行范围查找。如果使用排序操作,不能使用哈希索引的哈希值进行排序 (无序) Question2:为什么不采用平衡二叉树索引? 答:平衡二叉树的平衡体现在左子树和右子树的高度绝对值相差不会超过,随着树的高度增加,查找速度越来越慢。查找时需要回溯 Question3:为什么不采用B树索引? 答:树的高度相对于平衡二叉...原创 2020-09-17 21:17:56 · 272 阅读 · 0 评论 -
MySQL8.0.11安装并使用systemctl控制
1.下载安装包官网地址:https://downloads.mysql.com/archives/community/wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.17-linux-glibc2.12-i686.tar.xz2.解压xz –d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz tar -xvf mysql-8.0.17-linux-glibc2.12原创 2020-06-24 14:42:59 · 1873 阅读 · 0 评论 -
mysql 数据库进行备份以及导入SQL文件
备份数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名例: mysqldump -u root -p oj > d:\oj.sql (输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可)MySQL命令行导入数据库1、进入MySQL:mysql -u 用户名 -p例 :mysql -u root -p2、新建一个数据库,这时是空数据库,如新建一个名为 oj 的目标数据库3,输入:mysql> use 目...原创 2020-05-29 08:24:37 · 317 阅读 · 0 评论 -
MySQL进阶
1.关于MySQL密码强度大佬博客2.关于创建用户和授权# 创建用户 create user 'username' @'%' identified by 'password';# 'username' 为用户名 create user 'wang' @ '%' identified by 'password';# '%' 为登录地点,可改为ip地址或者localhost...原创 2019-08-02 16:28:58 · 100 阅读 · 0 评论 -
MySQL函数之 PDO扩展
1.PDO的 预处理语句和存储 (防止SQL注入,占用更少资源) /** * * @param string $sql 查询字符串 * @param array $args 动态绑定参数 * @return 根据SQL语句自动调整返回值 * SELECT 返回具体数据 * DELETE UPDATE 返回受影响行数 * INSERT 返回刚插入的ID值 ...转载 2019-03-07 20:15:26 · 167 阅读 · 0 评论 -
MySQL 理论
重点: 数据库中操作一定要小心,更新数据必须带条件(1)Web乱码问题 动态网站由三部分构成:浏览器,Apache服务器(PHP),数据库服务器 解决方案:三码合一(2)整数型 Tinyint:一个字节 ,127/255; Smallint:2个字节,32767/65536; Mediumint:3个字节,8388607/16777215;...原创 2018-11-18 11:39:10 · 175 阅读 · 0 评论 -
MySQL基本语法
重点:操作数据库时要细心, 更新数据库必须带条件注释为 #(1)创建数据库 基本语法:create database 数据库名字 [库选项]; create database test charset utf8; 库选项:用来约束数据库,分为两个 1.字符集设定:charset 具体字符集。常用字符集:utf8和GBK ...原创 2018-11-18 09:06:51 · 347 阅读 · 0 评论 -
MySQL 基础
数据库分类: 1.关系型数据库 安全,容易理解,浪费空间 大型:Oracle,DB2; 中型:MySQL,SQL-SERVER; 小型:access; 2.非关系型数据库 效率高,不安全关系型数据库:是一种建立在关系模型(数学模型)上的数据库;关系模型: 数据结构:数据存储的问题,二维表 操作指令集合:...原创 2018-11-18 08:57:06 · 101 阅读 · 0 评论