MySQL
阿宝PHP
这个作者很懒,什么都没留下…
展开
-
MySQL之多表查询
初始化数据值查询数据之前,先给定如下的初始化数据,便于演示查询语句.初始化数据中,一共有两张表 一张是user用户表,用户表中有用户id作为主键, username用户名. 一张表的order订单表,订单的id作为主键,订单的价格price,user_id作为外键. --创建一个名叫mytable的表CREATE DATABASE mytable;USE mytable;--...原创 2019-05-02 20:51:50 · 184 阅读 · 0 评论 -
Mysql性能优化三(分表、增量备份、还原)
对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了。如果我拆成100个表,那么每个表只有10万条记录。当然这需要数据在逻辑上可以划分。一个好的划分依据,有利于程序的简单实现,也可以充分利用水平分表的优势。比如系统界面上只提供按月查询的功能,那么把表按月拆分成12个,每个查询只查询一个表就够了。如果非要按照地域来分,即使把表...原创 2019-05-02 21:42:59 · 179 阅读 · 0 评论 -
MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。概述 相对其他数据库而言,MySQL的锁机制比较简...原创 2019-05-03 00:02:38 · 9543 阅读 · 1 评论 -
mysql 多个timestamp类型字段的默认值设置问题
先看创建mysql的错误:'Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause',英文不错的朋友就能马上找到原因,此信息大致意思是‘不能有多个timestamp类型的字段同时设置默认值或者 on update为...原创 2019-06-13 11:14:48 · 1368 阅读 · 0 评论 -
mysql中把一个表的数据批量转移到另一个表中
一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:(此方法只适合导出两表在同一database)INSERT INTO 目标表 SELECT * FROM 来源表;例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:INSERT INTO newArticles SELECT * FROM articl...转载 2019-08-14 15:37:55 · 20819 阅读 · 2 评论 -
三级模式两级映像/数据库系统结构
考察数据库的结构可以有多种不同的层次或角度。(这里说的数据库不局限于关系型数据库)1. 如果从DBMS角度来看,数据库通常采用三级模式结构,也就是说DBMS内部的系统结构是三级模式结构2. 如果从数据库最终用户角度来看,数据库系统的结构可分为:单用户结构、主从式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器多层结构等。这是数据库系统外部体系结构。1. 数据库系统的模式...原创 2019-08-14 15:43:29 · 402 阅读 · 0 评论 -
mysql高级教程
原创 2019-08-16 10:46:25 · 547 阅读 · 1 评论 -
INNODB索引实现原理
一、B+树 B+树属于索引的基础,不在详细介绍插入删除过程。只介绍特点。1 、搜索二叉树:每个节点有两个子节点,数据量的增大必然导致高度的快速增加,显然这个不适合作为大量数据存储的基础结构。2、 B树(m阶):一棵m阶B树是一棵平衡的m路搜索树。每个节点之多拥有m棵子树; 根结点至少拥有两颗子树(存在子树的情况下); 除了根结点以外,其余每个分支结点至少拥有 m/2 棵子树;...原创 2019-08-27 13:41:03 · 164 阅读 · 0 评论 -
MySQL 四种隔离级别
什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。另外,这篇分布式事务不理解?一次给你讲清楚!推荐大家阅读。事务的 A...转载 2019-09-08 20:19:07 · 122 阅读 · 0 评论 -
Mysql性能优化二
建立适当的索引说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千倍,这可真有诱惑力。可是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的I/O。是不是建立一个索引就能解决所有的问题?ename上没有建立索引会怎样?UPDATE...原创 2019-05-02 21:42:23 · 112 阅读 · 0 评论 -
Mysql性能优化一
mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升。Mysql数据库的优化技术对mysql优化是一个综合性的技术,主要包括表的设计合理化(符合3NF) 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] 分表技术(水平分割、垂直分割) 读写[写: update/delete/add]分离 存储...原创 2019-05-02 21:41:34 · 127 阅读 · 0 评论 -
Mysql常用命令
Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc createmysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLE...原创 2019-05-02 21:25:49 · 211 阅读 · 0 评论 -
MySQL 行锁 表锁机制
MySQL 表锁和行锁机制行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿!MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的...原创 2019-05-02 21:47:40 · 373 阅读 · 0 评论 -
图解MySQL索引--B-Tree(B+Tree)
看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引....或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!本文中有关存储引擎请查看MySQL存储引擎-InnoDB和MyISAM索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么...转载 2019-05-02 22:01:40 · 153 阅读 · 0 评论 -
MySQL面试题
有两张表,用户表,游戏角色表题目一:查询'2019-04-20' 到 '2019-04-23'期间注册的角色个数(以日期为分组,reg_time数据类型需为date)结果:查询语句:用group by和having子句联合来查出不重复的记录having一般跟在group by之后,执行记录组选择的一部分来工作的。select reg_time as '注册时间...原创 2019-04-29 11:47:08 · 686 阅读 · 0 评论 -
mysql存储引擎:myIsam和innodb的区别
MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。InnoDB是事务型引...原创 2019-05-13 19:43:05 · 504 阅读 · 0 评论 -
mysql事务处理用法与实例详解
来源:转载MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务、行级锁、并发 3.Berkeley DB:支持事务一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则...原创 2019-05-14 15:47:38 · 159 阅读 · 0 评论 -
MySQL索引优化explain分析
为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?撸起袖子就是干!案例分析我们先简单了解一下非关系型数据库和关系型数据库的区别。MongoDB是NoSQL中的一种。NoSQL的全...原创 2019-05-14 17:28:24 · 1209 阅读 · 0 评论 -
mysql中order by优化的那些事儿
为了测试方便和直观,我们需要先创建一张测试表并插入一些数据:CREATETABLE`shop`( `id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'记录ID', `shop_id`int(11)NOTNULLCOMMENT'商店ID', `goods_id`int(11)NOTNULLCOM...原创 2019-05-16 11:10:24 · 140 阅读 · 0 评论 -
Mysql中limit的用法
limit语法limit语法支持两个参数,offset和limit,前者表示偏移量,后者表示取前limit条数据.例如:## 返回符合条件的前10条语句 select * from user limit 10## 返回符合条件的第11-20条数据select * from user limit 10,20从上面也可以看出来,limit n 等价于limit 0,n性能...原创 2019-09-13 18:12:22 · 480 阅读 · 0 评论