mysql
专注网赚的程序员
一只走过京东、美团、阿里等大厂的野生程序员,专注于写代码和网赚, 欢迎交流
展开
-
数据库索引详解
最近在面试的过程中经常会遇到索引相关的问题,所以在这里总结一下索引问题。一:什么是索引? 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删原创 2016-06-19 13:09:47 · 403 阅读 · 0 评论 -
MySQL 性能优化神器 Explain 使用分析
简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如: EXPLAIN SELECT * from user_info WHERE id < 300; 准备 为了接下来方便演示 ...原创 2018-07-24 19:45:40 · 177 阅读 · 0 评论 -
MySQL的四种事务隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...原创 2018-07-12 11:02:26 · 155 阅读 · 0 评论 -
linux下mysql的极简安装
尼玛,想要个liunx测试的mysql数据库弄了半天,这个可以用: 1.准备安装包 (1)mysql-client-5.5.8-1.rhel5.x86_64.rpm (2)MySQL-devel-5.5.8-1.rhel5.x86_64.rpm (3)MySQL-server-5.5.8-1.rhel5.x86_64.rpm 去这下载: http://download.csdn.net原创 2018-01-12 17:01:20 · 279 阅读 · 0 评论 -
mysql中的锁
什么是锁? 对于一个数据库来说,有两点需要保证,第一是速度,第二是安全。数据库既要保证能支持高并发的数据访问,又要保证高并发的数据访问不会出错,也就是mysql的锁机制,锁是数据库系统区别于文件系统的一个关键特性,锁机制用于管理对共享资源的并发访问mysql中数据库锁的分类: mysql中的锁可以基本划分为lock和latch(闩锁\轻量级的锁),lock分为行锁、表锁、意向锁。 latch原创 2017-10-17 10:31:26 · 281 阅读 · 0 评论 -
mysql 事物
什么是mysql事物?mysql的事物是指的是吧数据库数据从一种一致性的状态转化为另外一种一致性状态。 不会出现中间状态,这也是数据库区别于文件系统的一个重要的标志。事物的特性?数据库的事物有ACID的特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)原子性:事物中的数据修改,要么是全部成功,要么是全部失败,不原创 2017-10-16 11:32:50 · 990 阅读 · 0 评论 -
表扩展方案
产品第一版:用户有用户名、密码、昵称等三个属性,对应表设计: user(uid, name, passwd, nick) 第二版,产品经理增加了年龄,性别两个属性,表结构可能要变成: user(uid, name, passwd, nick, age, sex)在互联网企业业务发展初期,或者业务变更期,表字段增加非常频繁,且由于线上环境的库非常多,为了一个小小的需求增加一个字段非常痛苦,为了不原创 2017-11-08 17:26:41 · 464 阅读 · 0 评论 -
mysql的间隙锁
前段时间系统老是出现insert死锁,很是纠结。经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读,但是它会把锁定范围扩大,有时候也会给我们带来麻烦,我们就遇到了。 在数据库参数中, 控制间隙锁的参数是:innodb_locks_unsafe_for_binlog, 这个参数默认值是OFF, 也原创 2017-09-26 20:29:21 · 325 阅读 · 0 评论 -
mysql事物的隔离级别
mysql的事物隔离级别和hibernate是一样的,分为四种, 提交读、未提交读、可重复读、可串行化四种:READ_UNCOMMITTED(未提交读) 事物中的修改,即使咩有提交,其他事物也是可见的,称之为未提交读的隔离级别,当A事物修改一条数据的时候,B事物读取这个数据,非常不安全,这也称为脏读。 READ_COMMITTED(提交读) 这个是最常见的、使用最多的一种隔离级别,一个事物开原创 2017-08-29 15:48:08 · 245 阅读 · 0 评论 -
left join、right join、inner join的区别
假设有两张表B_PERSOON和 C_SYS_USER两张表, 两张表通过person_info_id相互关联。left join 左连接:select * from b_person b left join c_sys_user c on b.person_info_id = c.person_info_id显示b_person表的全部数据,如果b_person中存在的数据而user表中不存在原创 2017-08-29 10:28:38 · 260 阅读 · 0 评论 -
MySQL索引类型总结和使用技巧以及注意事项
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: 代码如下: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10原创 2017-08-29 10:15:44 · 227 阅读 · 0 评论 -
干货之mysql性能优化建议
MySQL 性能优化的最佳20多条经验分享:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下转载 2017-07-27 11:45:36 · 341 阅读 · 0 评论 -
insert …select …带来的死锁问题
mysql中 insert …select …带来的问题 当使用insert…select…进行记录的插入时,如果select的表是innodb类型的,不论insert的表是什么类型的表,都会对select的表的纪录进行锁定。 对于那些从oracle迁移过来的应用,需要特别的注意,因为oracle并不存在类似的问题,所以在oracle的应用中insert…select…操作非常的常见。例如:有时候...原创 2019-02-19 09:56:31 · 1090 阅读 · 0 评论